嗨,我的开始日期为GetDate()-5,结束日期为GetDate()
我在变量中传递了该日期,即该日期未存储在任何表中,所以我怎么能获得记录
GetDate()-5,GetDate()-4,GetDate()-3,GetDate()-2,GetDate()-1,GetDate()
在SQL Server中
我在下面的查询中尝试了完全错误的查询,任何人都可以建议我
declare @startdate date
declare @enddate date
set @startdate =GETDATE()-5
set @enddate =GETDATE()
STUFF((SELECT DISTINCT ','+CONVERT(VARCHAR, CONVERT(DATE,GETDATE()-5))
FROM [Table]--What should be here?
WHERE CONVERT(date,AETE.TimeEntryDate) between CONVERT(DATE,@startdate)
AND CONVERT(DATE, @enddate)
FOR XML PATH('')), 1,1,'')
答案 0 :(得分:1)
CTE在这里可能会派上用场
declare @startdate date = dateadd(D, -5, getdate())
declare @enddate date = getdate();
with cte(d) as (
select @startdate
union all
select dateadd(D, 1, d)
from cte
where d < @enddate
)
select stuff((
select ', ' + convert(nvarchar(255), d, 101)
from cte
for xml path('')), 1, 2, '')
给您
08/09/2018, 08/10/2018, 08/11/2018, 08/12/2018, 08/13/2018, 08/14/2018
请注意,这给了您6天的时间,比今天少5天,还有今天的日期。