【发布时间】:2013-06-20 05:11:56
【问题描述】:
创建一个包含以下列的表格
DateId, Date, Day_Name, Day_of_Week, Day_of_Month, Day_of_Year,
Mon… _Name, Quarter_of_Year, Year_Name,Year
从 2008 年 1 月 1 日到 2014 年 12 月 31 日编写查询以填充上表
DECLARE @DATE smalldatetime
DECLARE @DATESTART smalldatetime
DECLARE @DATEEND smalldatetime
SET @DATESTART = '01-01-2008'
SET @DATEEND = '12-31-2014'
--SET @DATE = @DATESTART
DECLARE @days int
DECLARE @index int = 1
SET @days= DATEPART(dayofyear, @DATEEND) - DATEPART(dayofyear, @DATESTART)
SELECT @days
WHILE()
INSERT INTO [BI_Database].[dbo].[Date_
Range]
([Date],[Day_Name],[Day_of_Week],[Day_of…
VALUES(<Date, datetime,>,<Day_Name, nvarchar(50),>,<Day_of_Week, smallint,>,<Day_of_Month, smallint,>,<Day_of_Year, smallint,>,<Month_Name, nvarchar(50),>
,<Month_of_Year, smallint,>,<Quarter_Name, nvarchar(50),>,<Quarter_of_Year, nvarchar(50),>,<Year_Name, nvarchar(50),>,<Year, smallint,>)
【问题讨论】:
-
你可以使用while循环...
-
为什么要在日期中已经包含日期的所有信息?还有什么是年份名称?
-
@t-clausen.dk - “龙年”? “鼠年”?在没有看到表格定义的情况下,我同意这很棘手,但不难理解某些文化会命名它们的年份。
-
@t-clausen.dk 这是一个“维度表”,通常用于数据仓库等。它的优势在于仅动态计算相关值,当它们在表中实现时,然后它们可以被索引(也是 FK 的目标),并用于索引查找。
标签: sql-server sql-server-2008 tsql sql-server-2005 sql-server-2000