与to_date的ORA-01830错误

i_a*_*pid 1 sql oracle to-char to-date

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

ORA-01830: date format picture ends before converting entire input string
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

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

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

Gor*_*off 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;
Run Code Online (Sandbox Code Playgroud)

此外,正确的24小时能指是"HH24",而不是"24HH".

  • 无缘无故的匿名downvotes最近在这里似乎非常普遍.正如那些不接受任何答案的人一样(只是在没有承认它的情况下接受帮助和运行 - 粗鲁!),或接受但不接受.我最后11个接受的答案中有6个得到了0个赞成票.不是说我需要拍拍背面,但是 - 花一点时间表示感谢你的帮助似乎没什么可期待的. (2认同)