小编use*_*125的帖子

CTE使用SQL Server获取两个日期之间的日期

我想在两个日期之间获取缺少的日期

@maxDate = '2013-01-28'

@curDate = GetDate()

我写了CTE来做这件事.这是我的CTE:

create procedure EmpDate  
as  begin  
declare @curDate Date  
set @curDate = GETDATE()  
declare @maxDate Date  
select @maxDate = MAX(EmpAttendance.Sdate)  
from EmpAttendance

;with GetDates As  
(  
select 1 as counter, @maxDate as Date   
UNION ALL  
select counter + 1, DATEADD(day,counter,@maxDate)  
from GetDates  
where DATEADD(day, counter, @maxDate) < @curDate  
)  
select Date from GetDates  
end   
go  
Run Code Online (Sandbox Code Playgroud)

结果是

Date  
2013-01-28  
2013-01-29  
2013-01-30  
Run Code Online (Sandbox Code Playgroud)

但我想要

2013-01-29  
2013-01-30   
Run Code Online (Sandbox Code Playgroud)

请帮帮我.

sql-server-2008

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql-server-2008 ×1