我需要获取 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
最佳答案
尝试用这个替换 if 语句:
If ((datepart(dw, @dFrom) = 1) OR (datepart(dw, @dFrom) = 7))
您还应该检查周末以获得结果。
关于sql-server - 获取 SQL 中两个日期之间的周末数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15432675/