繁体   English   中英

SQL查询从上午12:00开始

[英]SQL query to start from hour 12:00 am

我有一个像这样的日期列7/24/2017,当我写下面的where子句时,我从7/24/2017 1:00:00.000 AM获得了结果。 我需要从7/24/2017 12:00:00.000 AM获取此信息。 我的where子句应该如何修改。 请检查以下代码

Date>= DATEADD(day, -1, convert(date, GETDATE())) and 
Date< DATEADD(day, +0,  convert(date, GETDATE()))

您的代码似乎没有任何问题。 您确定您的数据包含凌晨1点之前的任何时间吗? 您确定您欣赏SQLServer如何格式化这些时间/将它们表示给您吗?

请参阅以下SQLFIDDLE: http ://sqlfiddle.com/#!6/047cc/11

优化:您不需要将日期加0即可。您还可以从日期中减去1.0以使日期更早,并且比DATEADD少了一些麻烦。 之所以起作用,是因为内部日期表示为自某个时间点以来的天数的浮点数:

[Date] >= convert(date, GETDATE() -1.0) and 
[Date] < convert(date, GETDATE())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM