Последовательное сравнение даты с датой и временем - PullRequest
0 голосов
/ 13 ноября 2018

Мой простой вариант использования: я передаю date и пытаюсь сравнить его со столбцом createdAt по умолчанию.

where: {
                createdAt: {
                    $eq: date
                }
            }

, а моя дата - строка типа date = '2018-12-12'

Проблема здесь заключается в том, что нельзя сравнивать только дату.Но это добавляет время 00:00:00 к моей дате и затем сравнивает.Таким образом, запрос sequlize generate выглядит следующим образом.

WHERE `redeem_points`.`createdAt` = '2018-11-02 00:00:00';

Чего я заслужил

WHERE `redeem_points`.`createdAt` = '2018-11-02';

Как мне добиться этого с помощью sequlize?

1 Ответ

0 голосов
/ 13 ноября 2018

Я думаю, вы хотели бы что-то более похожее на:

{
  where: {
    createdAt: { [Op.like]: `${date}%`, },
  }
}

Который мог бы дать синтаксис SQL вроде (обратите внимание на подстановочный знак):

WHERE createdAt LIKE '2018-11-02%'

Операторы могутпредоставим вам широкий спектр эквивалентов синтаксиса SQL, кроме того, я думаю, что сокращенная версия, которую вы используете, устарела, поэтому я добавил в синтаксис Op, что вам может понадобиться значение sequelize.Op, если вы не деструктурируете свои переменные.

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