【发布时间】:2019-09-20 19:50:59
【问题描述】:
我需要在 sql 中获取日期之间的周末数作为函数。我已经尝试过,但在逻辑的某个地方卡住了。
CREATE FUNCTION fnc_NumberOfWeekEnds(@dFrom DATETIME, @dTo DATETIME)
RETURNS INT AS
BEGIN
Declare @weekends int
Set @weekends = 0
While @dFrom <= @dTo Begin
If ((datepart(dw, @dFrom) = 1))
Set @weekends = @weekends + 1
Set @dFrom = DateAdd(d, 1, @dFrom)
End
Return (@weekends)
END
【问题讨论】:
-
您需要指定当边界日期与周末重叠时会发生什么。当您指定周六和周日、周五和周六、周日和周日时会发生什么?
标签: sql-server sql-server-2005