- SET DATEFIRST 1; --设置周一为每周第一天
- SELECT @@DATEFIRST;
-
- WITH w AS(
- SELECT
- CONVERT(
- varchar(10),
- T.[Date],
- 120
- ) AS [Date],
- DATENAME(weekday, T.[Date] ) AS [Week],
- DATEPART(WK, T.[Date]) AS WeekIndex
- FROM
- (
- SELECT
- DATEADD(DAY, number, DATEADD(wk, DATEDIFF(wk, 0, getdate()), 0) ) [Date]
- FROM
- master..spt_values
- WHERE
- TYPE = 'P'
- AND DATEADD(DAY, number, DATEADD(wk, DATEDIFF(wk, 0, getdate()), 0) ) < DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, getdate()) ), 7)
- ) T
- )
- SELECT
- w.*
- FROM
- w