Как использовать to_char в sequelize? - PullRequest
0 голосов
/ 21 октября 2019

Мне нужно изменить формат даты. И для этого я хочу использовать to_char. Но когда я делаю это:

Sequelize.where(
    Sequelize.cast(Sequelize.col('to_char("users.date_work", \'DD.MM.YYYY\')'), 'varchar'),
    {
        [Op.like]: `%${req.query.search}%`
    }
)

Эта ошибка возникает:

table \ "to_char (users.date_work, 'DD.MM \" не входит в предложение FROM

Как правильно использовать to_char в сиквелизе?

1 Ответ

0 голосов
/ 23 октября 2019

Используйте Sequelize.literal() вместо .col () ... и вам не нужно приводить результат:

where : 
    Sequelize.where(
       Sequelize.literal('to_char("users.date_work", \'DD.MM.YYYY\')'),
          { [Op.like]: `%${req.query.search}%` }
       )

FWIW, использование LIKE в поле даты может быть хрупким. Обычно лучше использовать между двумя датами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...