请教当前时间属于上面的哪个时间段
请问当前时间属于下面的哪个时间段?
能否用一个SQL语句来描述,假定定义starttime time(7),endtime time(7)用来保存时间
下面有三行两列表示时间段
时间段 startime 08:20-16:00 endtime
startime 16:01-20:00 endtime
startime 20:01-4:0 endtime
现在时间是21:00
按理应属于在20:01-4:0之间,但如果用一句SQL来查找呢
谢谢!
------解决方案--------------------
能否用一个SQL语句来描述,假定定义starttime time(7),endtime time(7)用来保存时间
下面有三行两列表示时间段
时间段 startime 08:20-16:00 endtime
startime 16:01-20:00 endtime
startime 20:01-4:0 endtime
现在时间是21:00
按理应属于在20:01-4:0之间,但如果用一句SQL来查找呢
谢谢!
------解决方案--------------------
- SQL code
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'tba') BEGIN DROP TABLE tba END GO CREATE TABLE tba ( StartTime VARCHAR(7), EndTime VARCHAR(7) ) GO INSERT INTO tba SELECT '08:20','16:00' UNION SELECT '16:01','20:00' UNION SELECT '20:01','4:0' GO DECLARE @Current VARCHAR(7) SET @Current = '21:00' SELECT * FROM tba WHERE @Current BETWEEN StartTime AND CASE WHEN LEFT(EndTime,CHARINDEX(':',EndTime) - 1) < LEFT(StartTime,CHARINDEX(':',StartTime) - 1) THEN RTRIM(CAST(LEFT(EndTime,CHARINDEX(':',EndTime) - 1) AS INT) + 24) + RIGHT(EndTime,CHARINDEX(':',EndTime)) ELSE EndTime END StartTime EndTime 20:01 4:0