我希望通过单个查询获取给定日期的下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
这有效,但是有一种方法可以通过单个查询获取所需的输出吗?
使用MariaDB及其Sequence Storage Engine
SELECT STR_TO_DATE('01/01/2019','%d/%m/%Y') + seq DAY FROM seq_0_to_11
ref:fiddle