我正在使用t-sql的SQL Server 我有以下代码,检查日期是否落在周末 ,如果if它会重复,直到一天工作日为止SQL Server检查一天是否不会在周末,如果是这样,迭代到一个工作日
Declare @ProDate as Date
set @ProDate = '08/05/12'
WHILE (DATEPART(DW, @ProDate) = 1 OR DATEPART(DW, @ProDate) = 7)
BEGIN
set @ProDate = DATEADD(day, 1, @ProDate)
END
select @ProDate
该代码似乎工作。想知道我是否遗漏了任何东西,或者是否有更好的方法来处理这个问题。
它不需要跳过假期。感谢您的反馈意见! – 2012-08-02 14:47:49
@NatePet你唯一需要验证的是你的系统中的'dateFirst',然后你可能需要从那里进行调整。我们的代码使用'((@@ dateFirst + DatePart(dw,@ ProDate)-2)%7)+ 1'来确定星期几。 – Taryn 2012-08-02 14:51:44