to_date 出现 ORA-01830 错误

ORA-01830 error with to_date

我正在尝试创建一个减去两天的日期,然后将其转换为字符。出于某种原因,我收到以下错误:

ORA-01830: date format picture ends before converting entire input string

这是我的代码:

 SELECT TO_CHAR(to_date('20-JUL-01 10:40:12')-2, 'dd-Mon-yy 24HH:MI:SS') as "Subtract 2 Days"
       FROM DUAL;

不知道怎么回事,好像是秒的问题

Oracle 默认为 AM/PM 的 12 小时制。所以,你需要一个日期格式来进行日期转换:

SELECT TO_CHAR(to_date('20-JUL-01 10:40:12', 'dd-Mon-yy HH24:MI:SS')-2,
               'dd-Mon-yy HH24:MI:SS') as "Subtract 2 Days"
FROM DUAL;

此外,正确的 24 小时指示符是 "HH24",而不是“24HH”。