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

2016-01-29 16:43 308 1 收藏

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

【 tulaoshi.com - SQLServer 】

也许有了这张表,你的工作会轻松很多!
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

来源:http://www.tulaoshi.com/n/20160129/1499380.html

延伸阅读
你可能在使用MySQL过程中,各种意外导致数据库表的损坏,而且这些数据往往是最新的数据,通常不可能在备份数据中找到。本章将继上篇文章中检查出表的问题后,告诉你如何修复表。 一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误: ◆ “tbl_name.frm”被锁定不能改变。 ◆ 不能找到文件“tbl_name.MYI”(Errcode :### )。...
由多种糖果色毛毡制作的日历表挂在卧室的墙壁上,醒来之后就能一眼瞧见可爱的日历表。睁开眼第一时间看见了多种色彩,心情肯定会特别好。你喜欢手工制作吗?如果喜欢的话,那就跟着图老师下面的步骤一起来动手制作可爱糖果色日历表吧!   第一步:准备好各种颜色的毛毡布料。 ...
标签: excel
利用Excel的数据制作一张图表   大家都在用Excel,深知它的重要性,如果我们对它的功能熟悉了,掌握的使用它的技巧,那么用起来是十分方便的,那么怎么样用Excel中已经计算好的数据来制作一张图表呢?或是比例图,或是柱状图,下面我来介绍一下。 方法/步骤 1、首先,你得打来一张Excel工作表,计算好应该计算的数据,或...
标签: SQLServer
  随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为公司创造很多潜在的利润,而这种从海量数据库中挖掘信息的技术,就称之为数据挖掘。     数据挖掘工具能够对将来的趋势和行为进行预测,从而...
    1.首先查看表空间的名字和所属文件 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;      2.增加数据文件 alter tablespace users add datafile '/u01/Oracle/oradata/umail/users02.dbf' size 4000M a...

经验教程

310

收藏

56
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部