怎么项sql数据库中添加一年的日期
如何项sql数据库中添加一年的日期
求一个sql语句,如果指定某个年份,比如是2013年,就向表中插入这一年的所有日期,如果这一年的日期已经存在,则语句终止。
------解决方案--------------------
------解决方案--------------------
求一个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)