sql server生成时间维表,包含年,月,日,周,季度
时间: 2023-08-21 13:04:19 浏览: 44
可以使用 SQL Server 中的日期函数和表格变量来生成时间维表,以下是一个示例代码:
```
DECLARE @StartDate DATE = '2000-01-01'
DECLARE @EndDate DATE = '2030-12-31'
DECLARE @DateTable TABLE (
[Date] DATE,
[Year] INT,
[Month] INT,
[Day] INT,
[Week] INT,
[Quarter] INT
)
WHILE @StartDate <= @EndDate
BEGIN
INSERT INTO @DateTable (
[Date],
[Year],
[Month],
[Day],
[Week],
[Quarter]
)
VALUES (
@StartDate,
YEAR(@StartDate),
MONTH(@StartDate),
DAY(@StartDate),
DATEPART(wk, @StartDate),
DATEPART(qq, @StartDate)
)
SET @StartDate = DATEADD(dd, 1, @StartDate)
END
SELECT * FROM @DateTable
```
该代码将从 2000 年 1 月 1 日到 2030 年 12 月 31 日之间的所有日期插入到一个表格变量中,同时计算并存储年、月、日、周和季度信息。你可以根据需要调整起始和结束日期,并根据需要修改表格变量的列名和数据类型。