我们正在为我们的应用创建搜索功能。我们需要能够搜索日期。例如,用户可能想查找销售日期为2018年的所有记录。在我们的数据库中,销售日期为DATE类型。有没有办法在DATE使用LIKE关键字?
理想情况下,我希望WHERE子句看起来像这样:
findAll({where: {SaleDate: {like: `%${searchString}%`}})
我们正在使用SQLServer作为数据库。
答案 0 :(得分:1)
请勿在日期上使用like
。 like
用于字符串,而字符串不是日期。
总的来说,我认为“开始日期”和“结束日期”对于大多数目的来说已经足够了。每隔一段时间,您可能需要定制的方法,例如在一周中的某一天或某月的某天。
答案 1 :(得分:-1)
如果日期以DATE类型存储,则使用NODE和MongoDB。然后,您可以使用Mongo的$ year函数。
这里是链接,显示如何使用$ year https://docs.mongodb.com/manual/reference/operator/aggregation/year/
其中一些示例是:
{$ year:new Date(“ 2016-01-01”)} // 2016。
这可以在查找查询中使用以获得所需的结果。