to_timestamp遇到小数秒必须在0到999999999之间

时间:2013-04-05 14:57:39

标签: oracle plsql oracle10g oracle11g

输入代码,这是代码

select to_timestamp('03-APR-13 01.15.31.6754542 PM','DD-MON-RR HH.MI.SS.FF4 AM') from dual;  

我原本打算精确到毫秒到4位,但错误显示。我发现.ff的数字是否等于或大于7,这是6754542的数字, 例如:

select to_timestamp('03-APR-13 01.15.31.6754542  PM','DD-MON-RR HH.MI.SS.FF8 AM') from dual;
select to_timestamp('03-APR-13 01.15.31.6754542  PM','DD-MON-RR HH.MI.SS.FF9 AM') from dual;

等等。他们总是显示03-APR-13 01.15.31.675454200 PM,9位...... 我怎么能准确毫秒到4位数,或永远不是? 请帮助我,谢谢。

1 个答案:

答案 0 :(得分:2)

SELECT 
  TO_CHAR(
    TO_TIMESTAMP('03-APR-13 01.15.31.6754542  PM',
               'DD-MON-RR HH.MI.SS.FF AM'),
  'DD-MON-RR HH.MI.SS.FF4 AM')
FROM DUAL;