首页  >  文章  >  数据库  >  如何在TSQL中计算两个日期之间特定日期的出现次数?

如何在TSQL中计算两个日期之间特定日期的出现次数?

Patricia Arquette
Patricia Arquette原创
2024-10-31 06:13:30648浏览

How to Count Occurrences of Specific Days Between Two Dates in TSQL?

统计 TSQL 中日期之间特定日期的出现次数

在 TSQL 中处理与日期相关的计算时,确定特定工作日的频率可以成为一个挑战。其中一种场景涉及计算两个给定日期之间的“星期二”数量。

解决方案

要计算任何一天(包括星期二)的实例数,您可以使用提供的代码:

<code class="tsql">declare @from datetime= '3/1/2013' 
declare @to datetime  = '3/31/2013' 


select 
 datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON,
 datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE,
 datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED,
 datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU,
 datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI,
 datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT,
 datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN</code>

在此代码中,您可以通过调整相应的日期代码(例如 -6 表示星期二)来将“星期二”替换为任何其他所需的日期。

通过提供开始日期和结束日期,此代码计算该时间段内每天发生的次数。它假定开始日为星期一(代码 -7),并计算开始日期和结束日期之间 7 的倍数(例如,自星期一以来的天数的倍数)之间的差值。这可以有效地计算指定日期范围内每天的实例数。

以上是如何在TSQL中计算两个日期之间特定日期的出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn