我需要编写一个查询,在给定日期之前给我 3 个工作日,而不使用函数。我没有大量的 SQL 知识,想知道这个简单的查询是否足够。
DECLARE @date DATETIME
SET @date = '7 september 2013'
SELECT DATEPART(dw, @date),
CASE WHEN DATEPART(dw, @date) = 1 THEN @date - 4
WHEN DATEPART(dw, @date) =2 THEN @date - 5
WHEN DATEPART(dw, @date) =3 THEN @date - 5
WHEN DATEPART(dw, @date) =4 THEN @date - 5
WHEN DATEPART(dw, @date) =5 THEN @date - 3
WHEN DATEPART(dw, @date) =6 THEN @date - 3
WHEN DATEPART(dw, @date) =7 THEN @date - 3
END AS '3 Business days prior'