Int*_*eer 1 sql t-sql sql-server
我需要在TSQL中创建一个函数,如果传递的日期只是星期六或星期日,它会将日期移动到星期一.
例如:
如果日期不是星期六或星期日,请返回输入日期
如果日期是星期六或星期日,这将给你星期一; 否则,它会给你你提供的日期.
DECLARE @Date DATETIME; SET @Date = GETDATE();
SELECT
CASE (@@DATEFIRST + DATEPART(dw, @Date)) % 7
WHEN 0 THEN DATEADD(day, 2, @Date) -- Saturday
WHEN 1 THEN DATEADD(day, 1, @Date) -- Sunday
ELSE @Date
END AS Weekday
Run Code Online (Sandbox Code Playgroud)
编辑:包括Conrad Frix对@@ DATEFIRST问题的解决方案.