gpt4 book ai didi

sql - MSSQL : Finding all items between two dates

转载 作者:行者123 更新时间:2023-12-01 13:48:58 26 4
gpt4 key购买 nike

我正在基于 MSSQL 数据库中的数据创建一个 sails.js REST-API。每条记录都有开始日期和结束日期。我想提供一个查询日期并找到所有“开始”但不是“结束”的记录。所以在概念上我在想:

SELECT * FROM table WHERE
record_start_date <= query_date
AND
record_end_date >= query_date

在 Waterline/Sails 中它看起来像这样:

Model.find({
record_start_date: { 'lessThanOrEqual': req.query.q + ' 00:00:00.0'},
record_end_date: { 'greaterThanOrEqual': req.query.q + ' 23:59:00.0' }
})

但是,这只会给我介于它们之间的记录,而不是 开始和结束日期。

最佳答案

看起来您需要在 FIND 中交换时间:

Model.find({
record_start_date: { 'lessThanOrEqual': req.query.q + ' 23:59:00.0'},
record_end_date: { 'greaterThanOrEqual': req.query.q + ' 00:00:00.0' }
})

考虑记录的开始日期为 3 月 20 日和结束日期为 3 月 25 日的情况。如果您传递 3/25 的查询日期,如果您将“23:59”附加到它(就像您最初所做的那样),则 record_end_date 将不满足大于或等于条件。

关于sql - MSSQL : Finding all items between two dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33402352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com