2013-04-05 59 views
0

输入代码herethis为i原本打算精确毫秒到4位的代码TO_TIMESTAMP遇到秒的小数部分必须是0 999999999之间并

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

,但错误显示。而我发现如果数字的。 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; 

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

回答

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; 
+0

是的,我发现to_timestamp的fmt参数只能是没有任何数字的.FF,而to_char可以由数字指定,例如您的代码 – 2013-04-06 03:21:30

相关问题