The*_*lin 1 sql sql-server-2014
我有一个问题:
SELECT *
FROM [PivotedData15]
where ReadingDate BETWEEN '2019-02-11 00:01:00' AND '2019-02-12 00:00:00'
and Serial='2219'
Run Code Online (Sandbox Code Playgroud)
它会返回第12个的明天值,而不是第11个和第12个之间的值.
我必须在读数结束时的第二天的第二天午夜(午夜,因为那是当天的有效读数).
我想知道为什么,这个查询带回明天的价值,这引出了什么是在具有点的问题between或> <等.
中间声明中的所有日期都必须在同一天吗?它是否会带回明天的值,因为最后数据集中有明天的值?
我在下拉框中添加了一个名为Data的输出文件.我不能让SQL Fiddle工作.
BETWEEN包容性.据推测,你想要:
SELECT *
FROM [PivotedData15]
WHERE ReadingDate >= '2019-02-11' AND
ReadingDate < '2019-02-12' AND
Serial = '2219';
Run Code Online (Sandbox Code Playgroud)
根据你的描述,我不清楚比较是否正是你所需要的(你想要>/ <=例如吗?).但是,与两个终点的个别比较是要走的路.
我强烈建议您不要使用BETWEEN日期/时间值.Aaron Bertrand有一个关于这个主题的非常好的博客BETWEEN和魔鬼有什么共同之处?.