SQL单个查询以获取给定输入日期的下12个日期

问题描述 投票:0回答:1

我希望通过单个查询获取给定日期的下12个日期(每月的第一天)。例如,输入日期为01/01/2019(DD / MM / YYYY),则输出应如下所示:output

我已经尝试使用DATEADD函数以如下方式运行循环:

DECLARE @i INT
SET @i = 0
while(@i<12)
BEGIN
SELECT DATEADD(mm, @i, '01/01/2019');
SET @i = @i+1
END

这有效,但是有一种方法可以通过单个查询获取所需的输出吗?

mysql sql sql-server dateadd
1个回答
0
投票

使用MariaDB及其Sequence Storage Engine

SELECT STR_TO_DATE('01/01/2019','%d/%m/%Y') + seq DAY FROM seq_0_to_11

ref:fiddle

© www.soinside.com 2019 - 2024. All rights reserved.