【发布时间】:2012-11-22 17:10:37
【问题描述】:
我正在尝试开发一个调度应用程序,该应用程序需要表示诸如“此事件发生在每月的第 2 和第 4 个星期三”或“此事件发生在每月的奇数星期六(即第 1、第三和第五个星期六)。
为此,我需要在 T-SQL 中编写一个函数,该函数接受一个日期输入并返回一个整数,该整数表示日期名称的哪个月份出现在该日期。
例如,如果我发送函数 2012 DEC 21,它将返回 3,因为 2012 年 12 月 21 日是该月的第三个星期五。鉴于 2012 年 12 月 29 日,它将返回 5,因为 2012 年 12 月 29 日是该月的第 5 个星期六。
我想在不使用预先填充的日历表的情况下执行此操作。我可能想使用该函数来处理历史日期,例如计算 1958 年 7 月 16 日是该月的哪个星期三。
【问题讨论】:
-
我想你可以在想要的日期和本月的第一天使用
datepartdw做一些事情,但我不在一台装有 SQL Server 的计算机前尝试实现。不过,这是一个开始的地方。
标签: tsql dayofweek days date-math