注册 登录
编程论坛 SQL Server论坛

SQL中计算指定日期加上指定工作日的问题

花渊美步 发布于 2012-07-17 19:08, 737 次点击
Select * from tb1 where SDate > DateAdd(day,3,FDate)
要把这里的直接加3天改成加3个工作日?
如何改动呢?
2 回复
#2
cnfarer2012-07-18 06:46
Select * from tb1 where SDate >
        case DATEPART(DW,FDate)
        when 1 then dateadd(day,4,FDate)
        when 2 then dateadd(day,3,FDate)
        when 3 then dateadd(day,3,FDate)
        when 4 then dateadd(day,5,FDate)
        when 5 then dateadd(day,5,FDate)
        when 6 then dateadd(day,5,FDate)
        when 7 then dateadd(day,4,FDate)
        end
/*注意每周起始日的设置*/
#3
netlin2012-07-18 13:18
还要排除国家公众假日。
可以事先把国家公众假日做成数据表。

1