用date-timestamp比较比较日期

时间:2018-11-13 11:28:49

标签: javascript mysql sql express sequelize.js

我的简单用例是我传递一个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 :(得分:1)

我想你会想要更多类似的东西:

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

将使用哪种SQL语法(请注意通配符):

WHERE createdAt LIKE '2018-11-02%'

Operators可以为您提供广泛的SQL语法等效项,此外,我认为您所使用的速记已被弃用,因此我在Op语法中加上了sequelize.Op如果您不破坏变量。