问题描述
我有字符串字段 “2017/06/02 17:51:12.0000000”,可在11g中正确转换为格式为 “yyyy/MM/DD HH24:MI:SS.FF3” 的时间戳
我在12c上遇到 “ora-01830: 日期格式图片在转换整个输入字符串之前结束” 的问题。
在11g和12c上,nls时间戳设置为nls_timestamp_format = 'YYYY/MM/DD HH24:MI:SS.FF3 '。
如果我将ff3更改为ff7,则在12c上的pkg中可以正常工作。(确认)
因为我不想更改已经使用ff3的软件包。
任何建议将不胜感激。
谢谢
我在12c上遇到 “ora-01830: 日期格式图片在转换整个输入字符串之前结束” 的问题。
在11g和12c上,nls时间戳设置为nls_timestamp_format = 'YYYY/MM/DD HH24:MI:SS.FF3 '。
如果我将ff3更改为ff7,则在12c上的pkg中可以正常工作。(确认)
因为我不想更改已经使用ff3的软件包。
任何建议将不胜感激。
谢谢
专家解答
不幸的是,您依赖于11g中的 * bug * 无法正确解析日期。所以12c是正确的行为。但是您可以使用 “FF” 来解决此问题,而无需精确,例如
SQL> select to_timestamp( '2017/06/02 17:51:12.0000000','YYYY/MM/DD HH24:MI:SS.FF3') from dual; select to_timestamp( '2017/06/02 17:51:12.0000000','YYYY/MM/DD HH24:MI:SS.FF3') from dual * ERROR at line 1: ORA-01830: date format picture ends before converting entire input string SQL> select to_timestamp( '2017/06/02 17:51:12.0000000','YYYY/MM/DD HH24:MI:SS.FF') from dual; TO_TIMESTAMP('2017/06/0217:51:12.0000000','YYYY/MM/DDHH24:MI:SS.FF') --------------------------------------------------------------------------- 02-JUN-17 05.51.12.000000000 PM
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。