当前位置: 代码迷 >> Sql Server >> 生成日期数据,该怎么处理
  详细解决方案

生成日期数据,该怎么处理

热度:79   发布时间:2016-04-24 09:53:40.0
生成日期数据
知道某个日期,2014-9-29,生成2014-9-29至今的所有日期,共17条日期数据,不用游标一条一条插进去,谢谢
------解决思路----------------------
INSERT INTO table1 (date)
SELECT DateAdd(day,number,'2014-09-29')
  FROM master..spt_values
 WHERE type = 'p'
   AND number <= DateDiff(day,'2014-09-29',GetDate())

明明只有16条数据!
2014-09-29 00:00:00.000
2014-09-30 00:00:00.000
2014-10-01 00:00:00.000
2014-10-02 00:00:00.000
2014-10-03 00:00:00.000
2014-10-04 00:00:00.000
2014-10-05 00:00:00.000
2014-10-06 00:00:00.000
2014-10-07 00:00:00.000
2014-10-08 00:00:00.000
2014-10-09 00:00:00.000
2014-10-10 00:00:00.000
2014-10-11 00:00:00.000
2014-10-12 00:00:00.000
2014-10-13 00:00:00.000
2014-10-14 00:00:00.000


------解决思路----------------------

--获取当前的日期
select convert(varchar(10),getdate(),120) 

-- SQL中得到两个日期之间的所有日期值
declare @date1 datetime,@date2 datetime
set @date1='2014-09-29'
set @date2=convert(varchar(10),getdate(),120)

select [day]=convert(varchar(10),dateadd(dd,number,@date1),120)
from master..spt_values
where type='p' and number <= datediff(dd,@date1,@date2)

供参考!
------解决思路----------------------
引用:

--获取当前的日期
select convert(varchar(10),getdate(),120) 

-- SQL中得到两个日期之间的所有日期值
declare @date1 datetime,@date2 datetime
set @date1='2014-09-29'
set @date2=convert(varchar(10),getdate(),120)

select [day]=convert(varchar(10),dateadd(dd,number,@date1),120)
from master..spt_values
where type='p' and number <= datediff(dd,@date1,@date2)

供参考!

给定日期到当天的话,应该是16天记录!!
  相关解决方案