如果输入是日期和周末(太阳,周一,周二,周三,周四,周六或周六),如何计算周末日期

时间:2016-10-10 16:29:36

标签: sql-server-2008 sql-server-2012 weekend

如果输入是日期和周末结束日(在某些商家周末日将是周五(6),周六(7)或周日(1)),那么如何计算特定的周末日期日期。 例如

f('9/2/2016',6) = '9/2/2016' -- Weekending day a Friday
f('9/2/2016',7)='9/3/2016' -- weekending day a Saturday
f('9/2/2016',1)='9/4/2016' -- weekending day a Sunday

1 个答案:

答案 0 :(得分:0)

以下是解决问题的SQL代码:

declare @tdate datetime
declare @weekendingday int
set @weekendingday=7  --weekending saturday
set @tdate='2016-09-02'
select DATEADD (D, case when @weekendingday - DatePart (DW, @TDate) < 0 then 7+(@weekendingday - DatePart (DW, @TDate)) else @weekendingday - DatePart (DW, @TDate) end , @TDate)
相关问题