22,207
社区成员
发帖
与我相关
我的任务
分享
select convert(varchar(10),dateadd(dd,number+1,'2010-01-12'),120)
from master..spt_values
where type='p' and number < datediff(dd,'2010-01-12','2010-01-15')-1
--sql 2005
declare @startDate datetime
declare @endDate datetime
SELECT @startDate = '2010-01-12' ,@endDate = '2010-01-15'
;WITH tb AS (
SELECT @startDate + 1 AS 'date'
UNION ALL
SELECT DATEADD(DAY,1,date) FROM tb WHERE DATE<@endDate - 1
)
SELECT tb.date from tb
/*
date
-----------------------
2010-01-13 00:00:00.000
2010-01-14 00:00:00.000
(2 行受影响)
*/
--sql 2000
declare @sdate datetime
declare @edate datetime
set @sdate = '2010-01-12'
set @edate = '2010-01-15'
select
dateadd(dd,num,@sdate) dt
from
(select isnull((select count(1) from sysobjects where id<t.id),0)+1 as num from sysobjects t) a
where
dateadd(dd,num,@sdate)<@edate
/*
dt
------------------------------------------------------
2010-01-13 00:00:00.000
2010-01-14 00:00:00.000
(所影响的行数为 2 行)
*/
--sql 2000
declare @sdate datetime
declare @edate datetime
set @sdate = '2010-01-12'
set @edate = '2010-01-15'
select
dateadd(dd,num,@sdate) dt
from
(select isnull((select count(1) from sysobjects where id<t.id),0) as num from sysobjects t) a
where
dateadd(dd,num,@sdate)<=@edate
/*
dt
------------------------------------------------------
2010-01-12 00:00:00.000
2010-01-13 00:00:00.000
2010-01-14 00:00:00.000
2010-01-15 00:00:00.000
(所影响的行数为 4 行)
*/