首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么项sql数据库中添加一年的日期

2013-09-07 
如何项sql数据库中添加一年的日期求一个sql语句,如果指定某个年份,比如是2013年,就向表中插入这一年的所有

如何项sql数据库中添加一年的日期
求一个sql语句,如果指定某个年份,比如是2013年,就向表中插入这一年的所有日期,如果这一年的日期已经存在,则语句终止。 数据库 sql
[解决办法]


把2013换成变量,改改就好
 insert tb
 select distinct dateadd(day,number,'20130101') 
 from master..spt_values 
 where number>=0 and number<=365
 and dateadd(day,number,'20130101') <'20140101'
 and dateadd(day,number,'20130101')  not in (select date from tb)

[解决办法]

CREATE TABLE #temp (date DATETIME);

DECLARE @year INT
SET @year=2013
;
WITH a1 AS
(
SELECT CAST(RTRIM(@year)+'-01-01' AS DATETIME) date
UNION ALL
SELECT DATEADD(dd,1,date) FROM a1 WHERE DATEPART(yy,DATEADD(dd,1,date))=@year
)
INSERT #temp
SELECT date FROM a1 
EXCEPT 
SELECT date FROM #temp
OPTION(MAXRECURSION 0)

热点排行