我有一个像这样的日期专栏7/24/2017当我写下面的where子句时,我得到的结果是从凌晨7/24/2017 1:00:00.000 AM。我需要从7月24日上午12:00.00:00开始。我应该如何修改这个where子句。请检查以下代码
Date>= DATEADD(day, -1, convert(date, GETDATE())) and
Date< DATEADD(day, +0, convert(date, GETDATE()))
答案 0 :(得分:0)
您的代码似乎没有任何问题。您确定您的数据包含在凌晨1点之前的任何时间吗?你确定你欣赏你的SQLServer将如何格式化/代表它们吗?
请参阅此SQLFIDDLE:http://sqlfiddle.com/#!6/047cc/11
优化:你不需要将日期加值为0。你也可以从日期中减去1.0以获得前一天,它比DATEADD略逊一筹。它起作用,因为内部日期表示为自某个时间点以来天数的浮点数:
[Date] >= convert(date, GETDATE() -1.0) and
[Date] < convert(date, GETDATE())