暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle ff3和ff7问题的时间戳

askTom 2017-06-05
1399

问题描述

我有字符串字段 “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的软件包。

任何建议将不胜感激。

谢谢

专家解答

不幸的是,您依赖于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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论