1

我有 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结果。

4

2 回答 2

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))
于 2012-04-24T01:14:59.440 回答
0
declare @testTime time 
select @testTime = '01:00' 
select storeId from openinghours where @testime between starttime and endtime
于 2012-04-24T08:38:41.327 回答