问题描述
我想显示特定季度中包含的所有日期 例如:如果我的输入是 Q1 和 2021,我的输出应该是
01/01/2021
01/02/2021
--------
---------
-------
03/31/2021
解决方法
我想你可以从这样的事情开始^
DECLARE @InFirstQuarterDate DATE='20210101';
DECLARE @InLAstQuarterDate DATE=DATEADD(DAY,-1,DATEADD(MONTH,3*DATEPART(QUARTER,@InFirstQuarterDate),DATENAME(YEAR,@InFirstQuarterDate)));
--SELECT @InFirstQuarterDate,@InLAstQuarterDate
WITH CTE AS
(
SELECT @InFirstQuarterDate AS DD
UNION ALL
SELECT DATEADD(DAY,1,C.DD)AS DD
FROM CTE AS C
WHERE DATEADD(DAY,C.DD)<=@InLAstQuarterDate
)
SELECT C.DD
FROM CTE AS C