如何在 TSQL 中计算两个日期之间的星期二数?

Barbara Streisand
发布: 2024-10-28 20:45:30
原创
777 人浏览过

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

计算 TSQL 中两个日期之间星期二的数量

确定两个日期之间星期二的数量是 TSQL 编程中的常见挑战。 t-clausen.dk 概述了一种有效的方法:

计算每个工作日的实例:

<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>
登录后复制

此查询返回一周内每一天的出现次数指定的日期范围。计算基于以下原则:

  • datediff 函数计算两个日期之间的天数差异。
  • 表达式 -7 表示开始日期之前的星期日。
  • 表达式 -6 表示开始日期之前的星期一。
  • 按周除以 7 组。
  • 从开始日期开始减去天数到开始日期前的星期一计算开始日期和结束日期之间的周数。
  • 减去从结束日期到结束日期前一周的天数计算数字上周剩余的天数。

通过应用此方法,您可以轻松确定给定日期范围内星期二或一周中任何其他日期的数量。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板