--按照时间段查询当前时间的前8点到后8点数据
--大于下列时间
select (case when GETDATE() < CONVERT(varchar(10),GETDATE(),120)+' 08:00:00'
then CONVERT(varchar(10),dateadd(dd,-1,GETDATE()),120)
else CONVERT(varchar(10),GETDATE(),120)
end)+' 08:00:00'
--小于下列时间
select (case when GETDATE() < CONVERT(varchar(10),GETDATE(),120)+' 08:00:00'
then CONVERT(varchar(10),GETDATE(),120)
else CONVERT(varchar(10),dateadd(dd,1,GETDATE()),120)
end)+' 08:00:00'
总结:实现以上查询,主要使用了case when语句,通过判断当前时间是否满足给定的条件,然后使用不同的语句进行查询。
该SQL查询示例展示了如何利用CASE WHEN语句来获取当前时间以及前一天和后一天的8点整的数据。通过判断当前时间是否小于8点,决定查询前一天或当天的数据,并结合日期加减运算确保涵盖正确的时间段。
1834

被折叠的 条评论
为什么被折叠?



