我正在研究日光偏移功能,并希望听到您对如何解决此问题的意见。假设我创建了一个包含以下代码的存储过程(输入是当前时间@time
):
SELECT*
from
dbo.DaylightSavings
WHERE @time between Timestart AND Timeend
现在,如果上面的SELECT
语句返回表视图,那么dayligt节省应该为ON,因此存储过程应返回+2的偏移量。否则,如果上方的SELECT
语句不返回表格视图,那么日光照明应为OFF,而存储过程将返回+1。我如何制作一个合理的存储过程来处理这个逻辑?
谢谢!
系统:
MS SQL 2008R2
答案 0 :(得分:0)
这应该做你想要的(假设'偏移'是几小时):
DECLARE @Count INT
SET @Count = ( SELECT COUNT(*)
FROM
dbo.DaylightSavings
WHERE @time between Timestart AND Timeend)
IF @Count > 0
SELECT DATEADD(HH, 2, @time)
ELSE IF @Count = 0
SELECT DATEADD(HH, 1, @time)