2011-01-05 54 views
3

我在嘗試使用小數部分的6位數字格式化TIMESTAMP'FF'似乎打印所有可用的數字,即使我顯式聲明TIMESTAMP(6)以恆定精度格式化時間戳

DECLARE 
    t TIMESTAMP(6); 
BEGIN 
    t := SYSTIMESTAMP; 
    dbms_output.put_line(TO_CHAR(t, 'FF')); 
END; 

打印
912387000

有沒有辦法讓
912387
代替(不使用SUBSTRING或類似的東西)?

回答

4

是的,這是可能的,通過使用 'FF6':

SQL> DECLARE 
    2  t TIMESTAMP(6); 
    3 BEGIN 
    4  t := SYSTIMESTAMP; 
    5  dbms_output.put_line(TO_CHAR(t, 'FF')); 
    6  dbms_output.put_line(TO_CHAR(t, 'FF6')); 
    7 END; 
    8/
234771000 
234771 

PL/SQL procedure successfully completed. 

這裏是鏈接到文件:http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/sql_elements004.htm#r16c1-t64

問候, 羅布。

+0

感謝羅布,正是我需要:) – 2011-01-06 17:48:57