时间:2024-02-09 10:40作者:下载吧人气:21
根据给定的某个日期,计算这个月份的周日的天数。
根据系统变量@@DATEFIRST的值,判断周日的序号为【DatePart(WEEKDAY,RQ)= (07-@@DateFirst) % 7 + 1】。下面列出了周日、周一…周六的公式
公式 | 周几 |
---|---|
(7-@@DateFirst)%7 +1 | 周日 |
(7-@@DateFirst)%7 +2 | 周一 |
(7-@@DateFirst)%7 +3 | 周二 |
(7-@@DateFirst)%7 +4 | 周三 |
(7-@@DateFirst)%7 +5 | 周四 |
(7-@@DateFirst)%7 +6 | 周五 |
(7-@@DateFirst)%7 +7 | 周六 |
下面是获得周日的SQL语句,SQL语句采用了嵌套循环的方式来获取数据
DECLARE @Day SmallDateTime
SET @Day = DateAdd(MM, DateDiff(MM,0,’2019-11-21′), 0)
;WITH Temp AS
( SELECT @Day AS RQ UNION ALL
SELECT RQ+1
FROM TEMP WHERE DateDiff(Month,RQ+1,@Day) = 0
)
SELECT
RN = Row_Number() Over(ORDER BY RQ),
RQ
FROM Temp WHERE DatePart(WEEKDAY,RQ)= (07-@@DateFirst) % 7 + 1
网友评论