SQL查询出当前服务器时间是否在表T1时间段内,如果有则选择出

表T1
开始 时间         结束时间         
09:00:00          12:00:00     
14:00:00          17:00:00

查询出当前服务器时间是否在表T1时间段内,如果有则选择出
选出的sql结果集如下,求SQL,  注:SQL2000环境

开始 时间         结束时间          
14:00:00          17:00:00

方法一:

DECLARE @t TABLE (
    beginTime CHAR(8),
    endTime CHAR(8)
)
INSERT INTO @t values('09:00:00','12:00:00')
INSERT INTO @t values('14:00:00','17:00:00')
 
SELECT FROM @t WHERE CONVERT(CHAR(8), GETDATE(),114) BETWEEN beginTime AND endTime
/*
beginTime   endTime
14:00:00    17:00:00
*/
 
方法二:
IF OBJECT_ID('tempdb..#T1')IS NOT NULL DROP TABLE #T1
CREATE TABLE #T1(id INT IDENTITY,开始时间 NVARCHAR(50),结束时间  NVARCHAR(50))

INSERT INTO #T1
        (开始时间 ,结束时间 )
VALUES  ('09:00:00','12:00:00')
INSERT INTO #T1
        (开始时间 ,结束时间 )
VALUES  ('14:00:00','17:00:00')

SELECT * FROM #T1 WHERE 
CONVERT(DATETIME,'1900-01-01 '+开始时间)<=CONVERT(DATETIME,'1900-01-01 '+SUBSTRING(CONVERT(NVARCHAR(50),GETDATE(),21),12,50))
AND
CONVERT(DATETIME,'1900-01-01 '+结束时间)>=CONVERT(DATETIME,'1900-01-01 '+SUBSTRING(CONVERT(NVARCHAR(50),GETDATE(),21),12,50))
 
 
 
 
原文地址:https://www.cnblogs.com/lantianhf/p/5071886.html