如何从SQL中的当前时间获取所有时间在下一个小时范围内的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从SQL中的当前时间获取所有时间在下一个小时范围内的数据相关的知识,希望对你有一定的参考价值。
我有一张表tblSMS
与datetime
和time
列(以及其他一些列)。
我在接下来的2小时内在仪表板上得到所有提醒,所以我想从今天datetime
的表格中获取数据,time
在接下来的2小时内。
我使用了这个存储过程,但它无法正常工作:
select *
from tblSMS
where
SMSTime >= (SELECT Convert(varchar(5), GetDate(), 108))
and (SMSTime <= (SELECT Convert(varchar(5), (Select dateadd (hour, 2, getdate())), 108)))
and Convert(varchar(10), SMSDate, 110) = Convert(varchar(10), GETDATE(), 110)
谢谢
答案
如果您以适当的time
格式存储,则无需使用datetime
列。最好以datetime
格式进行比较。否则,如果接下来的第二天下降2小时,您可能会遇到麻烦。
select *
from tblSMS
where
SMSDate between getdate() and dateadd(hh, 2, getdate())
如果要将SMSDate
存储为日期,请合并两列以获取日期时间
select *
from tblSMS
where
SMSDate + cast(SMSTime as datetime) between getdate() and dateadd(hh, 2, getdate())
以上是关于如何从SQL中的当前时间获取所有时间在下一个小时范围内的数据的主要内容,如果未能解决你的问题,请参考以下文章
SQL从日期范围内的同一表中的不同记录中获取多个项目的总和(ORACLE)
如何从 db2 中的选定日期获取接下来 24 小时的所有数据?