sql获取规定递增数字/递增年份/递增日期
1,sql获取一串规定的递增数字
SELECT 1 + ROWNUM - 1 as n
FROM DUAL
CONNECT BY ROWNUM <=trunc(8-1) + 1
结果:

2,sql获取一串递增年
SELECT 2015 + ROWNUM - 1 as nFROM DUAL CONNECT BY ROWNUM <=trunc(2025-2015) + 1
结果:

3,sql获取一串获取月
SELECT distinct TO_CHAR(TO_DATE('202001', 'yyyyMM') + ROWNUM - 1, 'yyyyMM') as yyyyMM FROM DUALCONNECT BY ROWNUM <=trunc(TO_DATE('202306', 'yyyyMM')-TO_DATE('202201', 'yyyyMM')) + 1
结果:

# 可以使用DATEDIFF函数和DATEADD函数来获取两个时间之间的月份。
(oracle数据库没有DATEDIFF函数和DATEADD函)
具体示例如下:
假设有两个时间:@start_time和@end_time。
如果要获取这两个时间之间的月份,可以使用以下SQL语句:
SELECT DATEDIFF(MONTH, @start_time, @end_time) AS diff_month FROM DUAL
如果要获取从开始时间往后n个月的日期,可以使用以下SQL语句:
SELECT DATEADD(MONTH, n, @start_time) AS date_after_n_month FROM DUAL
其中n为往后的月份数。
4,sql获取一串递增日期
SELECT TO_CHAR(TO_DATE('2020-03-25', 'yyyy-MM-dd') + ROWNUM - 1, 'yyyy-MM-dd') as DATELIST FROM DUALCONNECT BY ROWNUM <=trunc(TO_DATE('2020-04-05', 'yyyy-MM-dd')-TO_DATE('2020-03-25', 'yyyy-MM-dd')) + 1
结果:

也可以显示星期
SELECTTO_CHAR(TO_DATE('2020-01-01', 'yyyy-MM-dd') + ROWNUM - 1, 'yyyy-MM-dd') as rq,to_char(to_date('2020-01-01', 'yyyy-MM-dd HH24:MI:SS')+ ROWNUM - 1,'day','NLS_DATE_LANGUAGE = ''SIMPLIFIED CHINESE''') AS XQ FROM DUALCONNECT BY ROWNUM <=trunc(TO_DATE('2020-01-10', 'yyyy-MM-dd')-TO_DATE('2020-01-01', 'yyyy-MM-dd')) + 1
结果:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
