カテゴリ:

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

CURRENT_TIMESTAMP

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

エイリアス:

LOCALTIMESTAMP , GETDATE , SYSTIMESTAMP

構文

CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )

CURRENT_TIMESTAMP
Copy

引数

fract_sec_precision

このオプションの引数は、時間を報告する精度を示します。たとえば、3の値は、小数点の後の3桁を使用します(つまり、ミリ秒の精度で時間を指定することを意味します)。

デフォルトの精度は9(ナノ秒)です。

有効な値の範囲は0~9です。ただし、ほとんどのプラットフォームは真のナノ秒精度をサポートしていません。取得する精度は、指定した精度よりも低い場合があります。実際には、精度は通常最大で約ミリ秒(3桁)です。

注釈

秒の小数部は、セッションの TIMESTAMP_OUTPUT_FORMAT パラメーターで明示的に設定されている場合(例: 'YYYY-MM-DD HH24:MI:SS.FF')にのみ表示されます。

戻り値

現在のシステム時刻を返します。戻り値のデータ型は TIMESTAMP_LTZ です。

使用上の注意

  • TIMEZONE パラメーターの設定は、戻り値に影響します。返されるタイムスタンプは、セッションのタイムゾーンです。

  • TIMESTAMP_TYPE_MAPPING パラメーターの設定は、戻り値に影響を 与えません

  • クエリは異なるコンピューティングリソース(ウェアハウス内)によって処理される可能性があるため、同時クエリ(同じ仮想ウェアハウスで処理)間の正確な時間の順序付けに戻り値を使用しないでください。

  • ANSI 規格に準拠するために、この関数は SQL ステートメント内で括弧なしで呼び出すことができます。

    ただし、 Snowflake Scripting変数 を関数を呼び出す式(例えば、 my_var := CURRENT_TIMESTAMP();)に設定する場合は、括弧を含める必要があります。詳細については、 コンテキスト関数の使用上の注意 をご参照ください。

  • エイリアス SYSTIMESTAMP および GETDATE は、次の点で CURRENT_TIMESTAMP と異なります。

    • これらでは fract_sec_precision 引数をサポートしていません。

    • これらの関数は、括弧を付けて呼び出す必要があります。

時間出力形式を YYYY-MM-DD HH24:MI:SS.FF に設定します。

ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
Copy

少数秒の精度が2に設定された現在のタイムスタンプを返します。

SELECT CURRENT_TIMESTAMP(2);
Copy
+------------------------+
| CURRENT_TIMESTAMP(2)   |
|------------------------|
| 2024-04-17 15:41:38.29 |
+------------------------+

少数秒の精度が4に設定された現在のタイムスタンプを返します。

SELECT CURRENT_TIMESTAMP(4);
Copy
+--------------------------+
| CURRENT_TIMESTAMP(4)     |
|--------------------------|
| 2024-04-17 15:42:14.2100 |
+--------------------------+

少数秒の精度がデフォルト(9)に設定された現在のタイムスタンプを返します。

SELECT CURRENT_TIMESTAMP;
Copy
+-------------------------------+
| CURRENT_TIMESTAMP             |
|-------------------------------|
| 2024-04-17 15:42:55.130000000 |
+-------------------------------+