续集:在DATE使用LIKE

时间:2018-12-12 18:48:25

标签: javascript sql node.js sequelize.js

我们正在为我们的应用创建搜索功能。我们需要能够搜索日期。例如,用户可能想查找销售日期为2018年的所有记录。在我们的数据库中,销售日期为DATE类型。有没有办法在DATE使用LIKE关键字?

理想情况下,我希望WHERE子句看起来像这样:

findAll({where: {SaleDate: {like: `%${searchString}%`}})

我们正在使用SQLServer作为数据库。

2 个答案:

答案 0 :(得分:1)

请勿在日期上使用likelike用于字符串,而字符串不是日期。

总的来说,我认为“开始日期”和“结束日期”对于大多数目的来说已经足够了。每隔一段时间,您可能需要定制的方法,例如在一周中的某一天或某月的某天。

答案 1 :(得分:-1)

如果日期以DATE类型存储,则使用NODE和MongoDB。然后,您可以使用Mongo的$ year函数。

这里是链接,显示如何使用$ year https://docs.mongodb.com/manual/reference/operator/aggregation/year/

其中一些示例是:

{$ year:new Date(“ 2016-01-01”)} // 2016。

这可以在查找查询中使用以获得所需的结果。