快速查找日期是未来或过去n个工作日的方法

时间:2018-08-27 07:28:56

标签: sql date calendar

有没有一种方法可以计算出将来或过去n个工作日内的日期而无需进行迭代?

例如:给定1.1.1985,哪个日期是1000个工作日?


编辑:就我而言,工作日只是星期一至星期五,不考虑假期。

这可行,但是太慢了:

create function slow(@i int, @date date)
returns date
as
begin
    while (@i != 0)
    begin
        select @date = dateadd(dd, sign( @i), @date)
        if (datepart(dw, @date) = 1 or datepart(dw, @date) = 7)
            continue

        select @i = @i - sign(@i)
    end
    return @date
end

0 个答案:

没有答案