T-sql时间逻辑

时间:2012-04-24 01:07:11

标签: sql-server tsql

我有3列数据,如

storeID  starttime  endtime
   A       1:00AM    4:00PM
   B       7:30PM    6:00AM
   C       2:00AM    4:00AM

我必须检查两个时间间隔之间的给定时间。

您能为该逻辑建议一个T-SQL语句吗?

如果我想要获得在凌晨1:00营业的商店,我必须得到A, B作为结果。

2 个答案:

答案 0 :(得分:1)

declare @testTime time
select @testTime = '01:00'
select storeId from openinghours 
    where (startTime<=endTime and @testTime >=startTime and @testTime <=endTime) 
        OR (startTime>endTime and (@testTime <startTime OR @testTime > endTime))

答案 1 :(得分:0)

declare @testTime time 
select @testTime = '01:00' 
select storeId from openinghours where @testime between starttime and endtime