让数据库产生一张详细的日历表

撒拉嗨呦sun

撒拉嗨呦sun

2016-01-29 16:43

让数据库产生一张详细的日历表,让数据库产生一张详细的日历表
也许有了这张表,你的工作会轻松很多!
CREATE TABLE [dbo].[time_dimension] (
   [time_id] [int] IDENTITY (1, 1) NOT NULL ,
   [the_date] [datetime] NULL ,
   [the_day] [nvarchar] (15) NULL ,
   [the_month] [nvarchar] (15) NULL ,
   [the_year] [smallint] NULL ,
   [day_of_month] [smallint] NULL ,
   [week_of_year] [smallint] NULL ,
   [month_of_year] [smallint] NULL ,
   [quarter] [nvarchar] (2) NULL ,
   [fiscal_period] [nvarchar] (20) NULL
) ON [PRIMARY]

DECLARE @WeekString varchar(12),
@dDate SMALLDATETIME,
@sMonth varchar(20),
@iYear smallint,
@iDayOfMonth smallint,
@iWeekOfYear smallint,
@iMonthOfYear smallint,
@sQuarter varchar(2),
@sSQL varchar(100),
@adddays int
  
SELECT @adddays = 1 --日期增量(可以自由设定)
SELECT @dDate = ’01/01/2002’ --开始日期
  
WHILE @dDate < ’12/31/2004’  --结束日期
BEGIN
  
   SELECT @WeekString = DATENAME (dw, @dDate)
   SELECT @sMonth=DATENAME(mm,@dDate)
   SELECT @iYear= DATENAME (yy, @dDate)
   SELECT @iDayOfMonth=DATENAME (dd, @dDate)
   SELECT @iWeekOfYear= DATENAME (week, @dDate)
   SELECT @iMonthOfYear=DATEPART(month, @dDate)
   SELECT @sQuarter = ’Q’ +  CAST(DATENAME (quarter, @dDate)as varchar(1))
   INSERT INTO time_dimension(the_date, the_day, the_month, the_year,
   day_of_month,
   week_of_year, month_of_year, quarter) VALUES
   (@dDate, @WeekString, @sMonth, @iYear, @iDayOfMonth, @iWeekOfYear,
   @iMonthOfYear, @sQuarter)
   SELECT @dDate = @dDate + @adddays
END
GO
select * from time_dimension
展开更多 50%)
分享

猜你喜欢

让数据库产生一张详细的日历表

SQLServer
让数据库产生一张详细的日历表

日历表的显示

编程语言 网络编程
日历表的显示

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用MySQL创建数据库和数据库表

编程语言 网络编程
用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表代码

编程语言 网络编程
用MySQL创建数据库和数据库表代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

获取数据库表结构

电脑网络
获取数据库表结构

锁住数据库中的表

编程语言 网络编程
锁住数据库中的表

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop给室内婚片添加梦幻韩系淡黄色

Photoshop给室内婚片添加梦幻韩系淡黄色

关于SQL Server 2000的安全配置

关于SQL Server 2000的安全配置
下拉加载更多内容 ↓