与to_date的ORA-01830错误

时间:2016-03-09 16:09:14

标签: sql oracle to-date to-char

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

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;

我不确定什么是错的,这似乎是秒的问题

1 个答案:

答案 0 :(得分:5)

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"。