获取 SQL 中两个日期之间的周末数 [英] Get number of weekends between two dates in SQL

查看:31
本文介绍了获取 SQL 中两个日期之间的周末数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要以函数的形式获取 sql 中日期之间的周末数.我试过了,但在逻辑中的某个地方卡住了.

I need to get the number of weekends between dates in sql as a function. I have tried but stuck up somewhere in the logic.

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 语句:

Try replacing the if statement with this:

If ((datepart(dw, @dFrom) = 1) OR (datepart(dw, @dFrom) = 7))    

您还应该检查周末以获取结果.

You should also check the end of the week to get the result.

这篇关于获取 SQL 中两个日期之间的周末数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆