Oracle:
Select
to_char(add_months(trunc('2018-08-06', 'month'), Rownum ), 'yyyy-mm') as dateStr
From
dual
Connect By Rownum <= 6
结果:

Sql Server:
SELECT
CONVERT(char(7), DATEADD(mm,number,'2018-02-21'),120) AS monthStr
FROM
master..spt_values
WHERE type = 'p'
AND DATEDIFF(MONTH,DATEADD(mm,number,'2018-02-21'),'2019-02-21') < 12
AND DATEDIFF(MONTH,DATEADD(mm,number,'2018-02-21'),'2019-02-21') >= 0
结果:

可以用此做主表左连接查询一些数据
本文介绍在Oracle和Sql Server中使用SQL语句生成连续月份的方法。通过示例代码展示了如何在Oracle中利用add_months和trunc函数,以及在Sql Server中使用DATEADD函数生成指定范围内的连续月份字符串。
1031

被折叠的 条评论
为什么被折叠?



