Sql server 如何在T-Sql中排除时间间隔?
我得到下表,我想排除之间的时间Sql server 如何在T-Sql中排除时间间隔?,sql-server,tsql,sql-server-2012,Sql Server,Tsql,Sql Server 2012,我得到下表,我想排除之间的时间 declare @t table (id int, name varchar(50), starttime time(3),endtime time(3)) insert into @t ( id, name, starttime, endtime ) values ( 1,'Steve','00:00:00.000','23:59:59.999') ,( 2,'Steve','03:00:00.000','04:00:00.000') ,( 3,
declare @t table (id int, name varchar(50), starttime time(3),endtime time(3))
insert into @t
( id, name, starttime, endtime )
values ( 1,'Steve','00:00:00.000','23:59:59.999')
,( 2,'Steve','03:00:00.000','04:00:00.000')
,( 3,'Steve','00:00:00.000','23:59:59.999')
,( 4,'Steve','09:30:00.000','11:30:00.000')
如果当前时间为'03:10:00.000'
,则我希望排除时间间隔
1,'Steve','00:00:00.000','23:59:59.999'
3,'Steve','00:00:00.000','23:59:59.999'
4,'Steve','09:30:00.000','11:30:00.000'
有什么帮助吗?谢谢尝试一下(假设您有一个名为currenttime
的时间变量):
选择id、名称、开始时间、结束时间
来自@t
其中starttime>currenttime或endtime
为什么不排除1、'Steve'、'00:00:00.000'、'23:59:59.999'?@xLiSPirit,我可能问错了。但我想选择从“00:00:00.000”到“开始时间”的数据,再从“结束时间”到“23:59:59.999”的数据。ThanksIt正在选择时间,我想排除吗?谢谢
SELECT id, name, starttime, endtime
FROM @t
WHERE starttime > currenttime OR endtime < currentTime