如果我有TO_DATE('20160101'YYMMDD)和TO_DATE('20160104',YYMMDD),我想要使用2个格式化的日期,我想要接收此输出:Oracle在两个日期之间将日期格式化为字符串
20160101
20160102
20160103
20160104
有没有一种快速的方法来实现这一点,而不使用PL/SQL?
谢谢大家!
如果我有TO_DATE('20160101'YYMMDD)和TO_DATE('20160104',YYMMDD),我想要使用2个格式化的日期,我想要接收此输出:Oracle在两个日期之间将日期格式化为字符串
20160101
20160102
20160103
20160104
有没有一种快速的方法来实现这一点,而不使用PL/SQL?
谢谢大家!
to_date()
中的格式掩码也必须包含在单引号内。
要生成字符串格式的输出,您需要应用to_char()
具有相同的格式掩码。
select to_char(to_date('20160101', 'YYYYMMDD') + level - 1, 'YYYYMMDD') as dt
from dual
connect by level <= 1 + to_date('20160104', 'YYYYMMDD') - to_date('20160101', 'YYYYMMDD')
;
DT
--------
20160101
20160102
20160103
20160104
SELECT DATE '2016-01-01' + LEVEL - 1
FROM DUAL
CONNECT BY LEVEL <= DATE '2016-01-04' - DATE '2016-01-01' + 1;
是的抱歉,我错了英文和意大利文日期时间格式,所以它不工作,无论如何,谢谢你完美的工作! – Chrix1387