本文将解释如何获取两个日期之间的工作日计数。 如果我们要计算两个日期之间的工作日数,这将很有用。
例:
-------------
USE [数据库名称]
走
-此功能用于计算之间的工作日数
-两个日期。
创建函数udf_Weekdays(@ Weekday,@ BeginDate datetime,@ EndDate datetime)返回整数
开始
-@平日:1 =星期一,...,7 =星期日
返回(选择datediff(week,@ BeginDate,@ EndDate)+当(@@ datefirst + datepart(工作日,@ BeginDate))%7的情况+当(@@ datefirst + datepart(工作日,@ BeginDate))%7的情况0然后7 else 0 end> @Weekday%7 +1然后0 else 1 end-当(@@ datefirst + datepart(weekday,@ EndDate))的情况%7 +当(@@ datefirst + datepart(weekday,@ EndDate)的情况))%7 = 0然后7否则0结束> = @Weekday%7 +1然后0否则1结束)
结束
跑:
-----
执行udf_Weekdays(7,'12 / 14/2008',''12/25/2008')
这将返回2,在'12 / 14/2008'和'12 / 25/2008'之间有两个星期天。
如果要给定日期的工作日,只需使用上面的函数udf_Weekdays,对给定日期执行datediff,然后减去这些日期之间的周六和周日数。
谢谢
巴拉斯·雷迪VasiReddy
From: https://bytes.com/topic/sql-server/insights/874316-finding-number-weekdays-given-date-todate