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

日历|数据|数据库

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

也许有了这张表,你的工作会轻松很多!

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

时间: 2024-08-27 22:33:53

让数据库产生一张详细的日历表的相关文章

金蝶 KIS专业版13.1和12.0数据库表和字段详细说明

问题描述 金蝶KIS专业版13.1和12.0数据库表和字段详细说明求那位大神弄过金蝶对接的给数据库分析谢谢 解决方案 解决方案二:做什么用呢?是要全套的金蝶数据库结构,还是部分表结构要做数据对接,还是要做接口(凭证接口等).50多个模块,900多张数据库表,您具体要做什么,需要什么?解决方案三:数据分析你跟厂商的人员沟通调用接口什么的就行了解决方案四:是否有金蝶数据库表之间的键值关系的文档,想从金蝶后台数据库把现金日记账和银行日记账的记录抓出来.有会的希望不吝赐教,有银行日记账或现金日记账后台表

sqlserver-附加数据库时出错.有关详细信息 请单击 消息 列中的超链接解决思

问题描述 附加数据库时出错.有关详细信息 请单击 消息 列中的超链接解决思 这个是消息的内容 附加数据库 对于 服务器"HP-HPSQLEXPRESS"失败. (Microsoft.SqlServer.Smo) 其他信息: 执行 Transact-SQL 语句或批处理时发生了异常. (Microsoft.SqlServer.ConnectionInfo) 无法打开物理文件"D:11111111宿舍管理-项目xxxsuzheguanli_Data.MDF".操作系统错

sql-oracle数据库的一张总表,通过一条数据分组拆分为多张表并excle导出。

问题描述 oracle数据库的一张总表,通过一条数据分组拆分为多张表并excle导出. oracle数据库的一张总表,通过一条数据分组拆分为多张表并excle导出.比如select * from studentinfo 里面有一个specode数据 通过不同的specode分为不同的表并导出,怎么写sql 解决方案 写个存储过程,定义一个游标,按你说的数据进行分组,然后循环把数据插入到不同的表里就行了,把表里的数据通过toad导出到excel里 解决方案二: 只要写出查询的语句查询出结果,然后另

访问数据库-怎样查询数据库中整张表格的数据,不用拼接的方法

问题描述 怎样查询数据库中整张表格的数据,不用拼接的方法 using System.Data.SqlClient; namespace WindowsFormsApplication7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Sql; string C

sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张

问题描述 sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张 1C sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张表 但自动生成的表的名字需要是添加的这个表的一个字段的内容 比如说表中添加了一个成员的名字 需要自动生成的表的名字就是这个人名 解决方案 需求可以实现,但没有这么去做的,这个表里有10000条数据时,你生成1万张表???? 建议修改设计,改成其它的方案来实现 解决方案二: Sql Server数据库新增触发器里面可以通过select (

oracle表记录导入导出-oracle数据库的几张表的记录导入导出

问题描述 oracle数据库的几张表的记录导入导出 在项目组,为了实现把oracle数据库中几张表的数据从一个生产环境导出再导入另一个生产环境,怎样通过前台页面来实现导入导出功能? 解决方案 前台页面来写的话,就得在后台来实现一个将数据导出到文本的接口(查全部,导入成txt.或excel) 同时,还要实现一个从文本直接加载到数据库的接口(或读文件,批量插入)

关于sqlite一个数据库创建多张表的问题 求大神指教!

问题描述 关于sqlite一个数据库创建多张表的问题 求大神指教! 我是新手 最近自己尝试做个小程序.关于一个数据库建多张表 小弟查阅一下,也不能得到解决,求高手指教下. public void onCreate(SQLiteDatabase db) { String sqlCalendar = "CREATE TABLE IF NOT EXISTS calendar(pid integer primary key autoincrement," + "moon varcha

C#怎么将sql数据库有一张表里增加的数据提出来呢?

问题描述 C#怎么将sql数据库有一张表里增加的数据提出来呢? 解决方案 解决方案二:你是不知道怎么查询出来展现,还是不知道怎么判断哪些数据是增加的呢?解决方案三:我现在设计数据库的表都会加上2个字段CreatedOn,UpdatedOn用途你懂的~解决方案四:引用1楼lovelj2012的回复: 你是不知道怎么查询出来展现,还是不知道怎么判断哪些数据是增加的呢? 我是想把表里增加的数据通过tcp/ip传送出去,,这里的代码该怎么来写呢?我是用1234代替的解决方案五:引用2楼moonwrite

jsp-mysql 同时从一数据库的两张表中读取最新插入放入数据怎么做到?

问题描述 mysql 同时从一数据库的两张表中读取最新插入放入数据怎么做到? 现在有两张表ab.表a中有数据a1,a2a3:表b中有数据b1b2b3.现在得到a,b中的最新数据a1,a2b1b2.这个要怎么做?