我知道的:



SQL>
SQL> select to_char ( systimestamp , 'yyyy:mm:dd-hh24:mi:sssss' ) from dual ;

TO_CHAR(SYSTIMESTAMP,'YYYY:MM:
------------------------------
2008:04:23-16:57:61055

SQL> SELECT to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF3') FROM DUAL ;

TO_CHAR(SYSTIMESTAMP,'YYYY-MM-
------------------------------
2008-04-23 16:57:35.890




我找到的 :
oracle 9i
DATE:
使用7字節保存日期時間數據,只能精確到1秒。
TIMESTAMP(fractional_seconds_precision) :
使用7-11字節保存日期時間數據,根據指定精度(0-9)來決定,缺省為6,可精確到納秒。
//1秒 = 1,000微秒 = 1,000,000毫秒 = 1,000,000,000納秒
//JAVA:PreparedStatement.setTimestamp(1, new java.sql.Timestamp(毫秒數));
//格式化輸出毫秒,后面的‘3’指定輸出精確度
SELECT to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF3') FROM DUAL;
DECLARE
time_before BINARY_INTEGER;
time_after BINARY_INTEGER;
i number ;
BEGIN
time_before := DBMS_UTILITY.GET_TIME;
select count(*) into i from dl_hqk_his ;
time_after := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE (time_after - time_before);
END;
oracle里怎樣獲得毫秒級的時間?謝謝
使用
dbms_utility.get_time
代碼示例:
DECLARE
time_before BINARY_INTEGER;
time_after BINARY_INTEGER;
BEGIN
time_before := DBMS_UTILITY.GET_TIME;
你的運行過程;
time_after := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE (time_after - time_before);
END;