カテゴリ:

コンテキスト関数 (一般)

SYSDATE

システム用に UTC タイムゾーンの現在のタイムスタンプを返します。

こちらもご参照ください。

CURRENT_TIMESTAMP

構文

SYSDATE()
Copy

引数

なし。

戻り値

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 |
+--------------------------+--------------------------+
Copy