- カテゴリ:
コンテキスト関数 (一般)
SYSDATE¶
システム用に UTC タイムゾーンの現在のタイムスタンプを返します。
- こちらもご参照ください。
構文¶
SYSDATE()
引数¶
なし。
戻り値¶
UTC タイムゾーンの現在のタイムスタンプを返します。
戻り値のデータ型は TIMESTAMP_NTZ です。
使用上の注意¶
名前にもかかわらず、これは DATE ではなく TIMESTAMP_NTZ を返します。出力形式を制御するには、セッションパラメーター TIMESTAMP_NTZ_OUTPUT_FORMAT を使用します。
この関数は、次の点を除いて CURRENT_TIMESTAMP に似ています。
CURRENT_TIMESTAMP は、ローカルタイムゾーンのタイムスタンプを返すのに対し、この関数は、 UTC タイムゾーンの現在のタイムスタンプを返します。
CURRENT_TIMESTAMP は、 TIMESTAMP_LTZ を返すのに対し、この関数の戻り値は、 TIMESTAMP_NTZ です。
CURRENT_TIMESTAMP は括弧なしで呼び出すことができるのに対し、この関数には、括弧(
SYSDATE()
)が必要です。小数秒の精度を指定するパラメーターはサポートされていません。
クエリは異なるコンピューティングリソース(ウェアハウス内)によって処理される可能性があるため、同時クエリ(同じ仮想ウェアハウスで処理)間の正確な時間の順序付けに戻り値を使用しないでください。
例¶
時間出力形式を YYYY-MM-DD HH24:MI:SS.FF4
に設定してから、 SYSDATE と CURRENT_TIMESTAMP を返します。タイムゾーンの違いによる時間フィールドの違いに注意してください。
ALTER SESSION SET TIMESTAMP_NTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4'; ALTER SESSION SET TIMESTAMP_LTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4'; ALTER SESSION SET TIMEZONE = 'America/Los_Angeles'; SELECT SYSDATE(), CURRENT_TIMESTAMP(); +--------------------------+--------------------------+ | SYSDATE() | CURRENT_TIMESTAMP() | |--------------------------+--------------------------| | 2019-12-23 08:00:00.1230 | 2019-12-23 00:00:00.1230 | +--------------------------+--------------------------+