添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Oracle ff3和ff7问题的时间戳

askTom 2017-06-05
676

问题描述

我有字符串字段 “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')