Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSSQL:查找两个日期之间的所有项目_Sql_Sql Server_Sails.js_Waterline - Fatal编程技术网

MSSQL:查找两个日期之间的所有项目

MSSQL:查找两个日期之间的所有项目,sql,sql-server,sails.js,waterline,Sql,Sql Server,Sails.js,Waterline,我正在基于MSSQL数据库中的数据创建一个sails.js REST-API。每个记录都有一个开始日期和一个结束日期。我想提供一个查询日期,并查找所有“开始”而不是“结束”的记录。所以从概念上说,我在想: SELECT * FROM table WHERE record_start_date <= query_date AND record_end_date >= query_date 但是,这只会提供介于两者之间的记录,而不是在开始日期和结束日期。看起来您

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

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

但是,这只会提供介于两者之间的记录,而不是在开始日期和结束日期。

看起来您需要交换查找中的时间:

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”(如您最初所做的那样),记录结束日期将不满足大于或等于条件。

对于未“结束”的记录,“记录结束日期”的值是多少?谢谢!一帆风顺:)
Model.find({
    record_start_date: { 'lessThanOrEqual': req.query.q + ' 23:59:00.0'},
    record_end_date: {  'greaterThanOrEqual': req.query.q + ' 00:00:00.0' }
})