產生民國年的 Time Table

CREATE TABLE DimTime
(
TimePK INT PRIMARY KEY,
[Year] SMALLINT NOT NULL,
[Quarter] TINYINT NOT NULL,
[Month] TINYINT NOT NULL,
[Day] TINYINT NOT NULL,
[ChineseMonthName] NVARCHAR(3) NOT NULL,
[ChineseWeekDay] NVARCHAR(3) NOT NULL
)

SET NOCOUNT ON
SET LANGUAGE 繁體中文
DECLARE @i INT=DATEDIFF(D,’1999/1/1′,’2020/12/31′),@j INT=0
WHILE @j<=@i
BEGIN
INSERT DimTime
VALUES(
CONVERT(INT,
CONVERT(VARCHAR(3),YEAR(DATEADD(d,@j,'1999/1/1'))-1911) +
RIGHT('0'+CONVERT(VARCHAR(2),Month(DATEADD(d,@j,'1999/1/1'))),2)+
RIGHT('0'+CONVERT(VARCHAR(2),Day(DATEADD(d,@j,'1999/1/1'))),2)),
YEAR(DATEADD(d,@j,'1999/1/1'))-1911,
DATEPART(Q,DATEADD(d,@j,'1999/1/1')),
Month(DATEADD(d,@j,'1999/1/1')),
DAY(DATEADD(d,@j,'1999/1/1')),
DATENAME(Month,DATEADD(d,@j,'1999/1/1')),
DATENAME(WEEKDAY,DATEADD(d,@j,'1999/1/1'))
)
SET @j+=1
END

SELECT * FROM DimTime
DROP TABLE DimTime

發表留言