本文将说明如何获取两个日期之间的工作日计数。 如果我们要计算两个日期之间的工作日数,这将很有用。
例:
-------------
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
本文介绍了一种在SQL中计算两个指定日期间工作日数量的方法,通过创建自定义函数udf_Weekdays实现,该函数考虑了指定的平日,并排除了周末。示例展示了如何计算特定日期范围内的星期天数量。
8401

被折叠的 条评论
为什么被折叠?



