LOCALTIMESTAMP
構文
目的
LOCALTIMESTAMP
は、セッションのタイムゾーンの現在の日付および時刻をTIMESTAMP
データ型の値で戻します。このファンクションとCURRENT_TIMESTAMP
との違いは、CURRENT_TIMESTAMP
は、TIMESTAMP
WITH
TIME
ZONE
の値を戻し、LOCALTIMESTAMP
はTIMESTAMP
の値を戻す点です。
オプションの引数timestamp_precision
には、戻される時刻値の秒の小数部の精度を指定します。
例
次の例では、LOCALTIMESTAMP
とCURRENT_TIMESTAMP
の相違を示します。
ALTER SESSION SET TIME_ZONE = '-5:00'; SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL; CURRENT_TIMESTAMP LOCALTIMESTAMP ------------------------------------------------------------------- 04-APR-00 01.27.18.999220 PM -05:00 04-APR-00 01.27.19 PM ALTER SESSION SET TIME_ZONE = '-8:00'; SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL; CURRENT_TIMESTAMP LOCALTIMESTAMP ----------------------------------- ------------------------------ 04-APR-00 10.27.45.132474 AM -08:00 04-APR-00 10.27.451 AM
LOCALTIMESTAMP
で書式マスクを使用する場合は、ファンクションが戻す値と書式マスクを一致させてください。たとえば、次の表の場合を考えます。
CREATE TABLE local_test (col1 TIMESTAMP WITH LOCAL TIME ZONE);
ファンクションが戻す型のTIME
ZONE
の部分がマスクに含まれていないため、次の文は正常に実行されません。
INSERT INTO local_test VALUES (TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF'));
次の文では、LOCALTIMESTAMP
の戻り値の型と一致する正しい書式マスクが使用されています。
INSERT INTO local_test VALUES (TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF PM'));