GETDATE()语句

时间:2016-02-26 17:57:06

标签: sql

运行以下内容:

GETDATE() AND datepart(hour, time) >= 5 AND datepart(hour, time) < 18

这会让我早上5点到下午5点吗?另外,下午5点到凌晨5点还有什么特别的,午夜时分。是否需要两个陈述,1个在午夜之前,1个从12:00到凌晨5点?

我运行以下,有时返回为null。 这有意义吗??

WHERE time >= GETDATE() AND datepart(hour, time) >= 5 AND datepart(hour, time) < 18 

1 个答案:

答案 0 :(得分:0)

如果您只想验证当天的时间,如果它在凌晨5点到下午6点之间存在,那么您可以尝试这样的事情。

declare @d datetime = GETDATE()
select DATEPART(hh, @d)
where @d >= GETDATE() and datepart(hour, @d) >= 5 AND datepart(hour, @d) < 18;

然后在下午1点,它给出了13。

如果是前一天,它不会显示任何内容,例如:

 set @d = DATEADD(dd, -1, @d)
 select DATEPART(hh, @d)
where @d >= GETDATE() and datepart(hour, @d) >= 5 AND datepart(hour, @d) < 18;

我的两分钱!