如何選擇最近5天的prio給定日期?如何選擇最近5天的日期?
給定日期:2015-11-14
選擇查詢應返回類似下面的輸出 -
2015-11-14
2015-11-13
2015-11-12
2015-11-11
2015-11-10
如何選擇最近5天的prio給定日期?如何選擇最近5天的日期?
給定日期:2015-11-14
選擇查詢應返回類似下面的輸出 -
2015-11-14
2015-11-13
2015-11-12
2015-11-11
2015-11-10
您可以使用遞歸CTE:
with dates as (
select cast(getdate() as date) as dte
union all
select dateadd(day, -1, dte)
from dates
where datediff(day, dte, getdate()) <= 4
)
select *
from dates
order by dte desc;
很明顯,你可以參考其他任何你約會而不是getdate()
。你的例子表明當前日期是2015-11-14,這是前一陣子。
您可以使用符合表如下什麼
Declare @dt date = getdate()
Select top (5) Dt = DateAdd(day, -Row_number() over (order by (select null)), @dt) from master..spt_values
DECLARE @fromData date = getdate()
DECLARE @daysBack int = 5
;WITH dates AS (
SELECT 1 as LP, @fromData as Dates
UNION ALL
SELECT LP + 1, DATEADD(DAY,-1,@fromData)
FROM dates
WHERE LP < @daysBack
)
SELECT *
FROM dates
DECLARE @startdate date = getdate();
DECLARE @NbDays int = 5;
WITH ListDate AS (
SELECT 1 as LP, @startdate as Dt
UNION ALL
SELECT LP + 1, DATEADD(DAY,-1,Dt)
FROM ListDate
WHERE LP < @NbDays
)
SELECT * FROM ListDate;
過去5天?認真......你需要提供某種程度的信息,如果你期望任何幫助。 –
最近5天的什麼?你需要更具體。你是指在給定日期前5天獲得? – Eli
@SeanLange jinx。 – Eli