sql-server - 如何通过季度和年份以 mm/dd/yyyy 格式返回所有日期
问题描述
我想显示特定季度中包含的所有日期,例如:如果我的输入是 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,1,C.DD)<=@InLAstQuarterDate
)
SELECT C.DD
FROM CTE AS C
推荐阅读
- junit4 - 如何在不使用 AssertNotNull 的情况下编写 Junit 测试用例
- python - 在 Perl 中使用 Spacy 和 Inline::Python 对数 MB 的原始文本进行 Lemmatize。为什么这么慢?
- javascript - Chart.js 折线图不会从零开始或第一个刻度作为最小值
- pandas - 获取熊猫数据框中特定列的累积总和和平均值
- performance - 带有频繁单词的法国地址的慢速弹性搜索查询
- c++ - 调用无害函数时在优化版本的程序中发生崩溃
- python - 如何减少重叠霍夫线?
- javascript - Java中如何追踪前任King是正常跳还是被Capturing跳
- python - cMake find_package Python
- c# - C# 或 Unity 用于跨平台软件开发。需要建议