Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在T-Sql中排除时间间隔?_Sql Server_Tsql_Sql Server 2012 - Fatal编程技术网

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