小编Joh*_*nux的帖子

填充日期维度表的最佳方法

我希望在 SQL Server 2008 数据库中填充日期维度表。表中的字段如下:

[DateId]                    INT IDENTITY(1,1) PRIMARY KEY
[DateTime]                  DATETIME
[Date]                      DATE
[DayOfWeek_Number]          TINYINT
[DayOfWeek_Name]            VARCHAR(9)
[DayOfWeek_ShortName]       VARCHAR(3)
[Week_Number]               TINYINT
[Fiscal_DayOfMonth]         TINYINT
[Fiscal_Month_Number]       TINYINT
[Fiscal_Month_Name]         VARCHAR(12)
[Fiscal_Month_ShortName]    VARCHAR(3)
[Fiscal_Quarter]            TINYINT     
[Fiscal_Year]               INT
[Calendar_DayOfMonth]       TINYINT
[Calendar_Month Number]     TINYINT     
[Calendar_Month_Name]       VARCHAR(9)
[Calendar_Month_ShortName]  VARCHAR(3)
[Calendar_Quarter]          TINYINT
[Calendar_Year]             INT
[IsLeapYear]                BIT
[IsWeekDay]                 BIT
[IsWeekend]                 BIT
[IsWorkday]                 BIT
[IsHoliday]                 BIT
[HolidayName]               VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)

我编写了一个函数 DateListInRange(D1,D2),它返回两个参数日期 D1 和 D2 之间的所有日期。

IE。参数“2014-01-01”和“2014-01-03”将返回:

2014-01-01
2014-01-02
2014-01-03
Run Code Online (Sandbox Code Playgroud)

我想为一个范围内的所有日期填充 DATE_DIM 表,即 2010-01-01 到 2020-01-01。大多数字段都可以用 SQL 2008 DATEPART、DATENAME 和 YEAR …

sql-server-2008 data-warehouse business-intelligence dimension star-schema

8
推荐指数
1
解决办法
2万
查看次数

如何在 SQL Server 中找到上个月的第 XX 天?

我有2个参数,

  • 输入日期 (DATETIME)
  • 输入日期 (TINYINT)

如果我输入 11 MAR 2014 作为 DATETIME,输入 26 作为月份的输入日期,我想选择 26 FEB 2014 作为输出 DATETIME。

换句话说,我想选择上一个日历月的第 X 天。然后我将使用 DATEDIFF 来查找当前的会计日期。

sql-server-2008-r2 datetime

3
推荐指数
1
解决办法
5499
查看次数

如何找到自会计月开始以来的天数?

这与我的问题有关如何在 SQL 服务器中找到上个月的第 XX 天?

会计月从每个月的 26 日开始。

我需要从任何日期找出:

  • 会计月的开始日期 (Start_Of_Fiscal_Month)
  • 进入会计月的天数 (Day_Of_Fiscal_Month)

例如:

CurrentDate - '2014-04-26'

Start_Of_Fiscal_Month = 2014-04-26
Day_Of_Fiscal_Month = 1
Run Code Online (Sandbox Code Playgroud)
CurrentDate - '2014-05-02'

Start_Of_Month = 2014-04-26
Day_Of_Fiscal_Month = 7
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2008-r2 datetime date

3
推荐指数
1
解决办法
1119
查看次数