日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL生成日期维度(到小时)

發布時間:2025/3/15 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL生成日期维度(到小时) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#建表語句:

CREATE TABLE [dbo].[Dim_日期3]([日期3ID] [varchar](10) NOT NULL,[] [int] NULL,[半年] [varchar](6) NULL,[] [varchar](2) NULL,[] [varchar](4) NULL,[] [varchar](6) NULL,[星期] [varchar](6) NULL,[是否周末] [varchar](4) NULL,[] [int] NULL,[] [int] NULL,CONSTRAINT [PK_Dim_日期3] PRIMARY KEY CLUSTERED ([日期3ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

#生成數據:

DECLARE @BeginDate DATE;SELECT @BeginDate = '2013-1-1';WHILE @BeginDate <= '2014-12-31'BEGINDECLARE @hour INTDECLARE @hourChar VARCHAR(2)SET @hour=0SET @BeginDate = Dateadd(DAY, 1, @BeginDate);WHILE @hour < 24BEGINSET @hourChar=RIGHT(CONVERT(VARCHAR(3), 100+@hour), 2)INSERT INTO [Dim_日期3]SELECT CONVERT(VARCHAR(8), @BeginDate, 112) + @hourChar AS [日期ID],Year(@BeginDate) AS [],CASEWHEN Datepart(month, @BeginDate) <= 6 THEN '上半年'ELSE '下半年'END AS [半年],CASEWHEN Datename (qq, @BeginDate) = '1' THEN 'Q1'WHEN Datename (qq, @BeginDate) = '2' THEN 'Q2'WHEN Datename (qq, @BeginDate) = '3' THEN 'Q3'ELSE 'Q4'END AS [],CASEWHEN Month(@BeginDate) = 1 THEN '01月'WHEN Month(@BeginDate) = 2 THEN '02月'WHEN Month(@BeginDate) = 3 THEN '03月'WHEN Month(@BeginDate) = 4 THEN '04月'WHEN Month(@BeginDate) = 5 THEN '05月'WHEN Month(@BeginDate) = 6 THEN '06月'WHEN Month(@BeginDate) = 7 THEN '07月'WHEN Month(@BeginDate) = 8 THEN '08月'WHEN Month(@BeginDate) = 9 THEN '09月'WHEN Month(@BeginDate) = 10 THEN '10月'WHEN Month(@BeginDate) = 11 THEN '11月'ELSE '12月'END AS [],CASEWHEN Datepart(WEEK, @BeginDate) < 10 THEN '第0' + CONVERT(VARCHAR(2), Datepart(WEEK, @BeginDate)) + ''ELSE '' + CONVERT(VARCHAR(2), Datepart(WEEK, @BeginDate)) + ''END AS [],Datename(WeekDay, @BeginDate) AS [星期],CASEWHEN Datepart(dw, @BeginDate) = '6' THEN '周末'WHEN Datepart(dw, @BeginDate) = '7' THEN '周末'ELSE '平時'END AS '是否周末',Day(@BeginDate) AS [],@hour AS []SET @hour=@hour + 1ENDEND;

?

轉載于:https://www.cnblogs.com/ycdx2001/p/3655869.html

總結

以上是生活随笔為你收集整理的SQL生成日期维度(到小时)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。