カテゴリ:

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

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 標準に準拠するために、この関数は括弧なしで呼び出すことができます。

  • エイリアス 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)   |
|------------------------|
| 2017-04-26 22:37:22.83 |
+------------------------+

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

SELECT CURRENT_TIMESTAMP(4);
Copy
+--------------------------+
| CURRENT_TIMESTAMP(4)     |
|--------------------------|
| 2017-04-26 22:37:25.3530 |
+--------------------------+

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

SELECT CURRENT_TIMESTAMP;
Copy
+-------------------------------+
| CURRENT_TIMESTAMP             |
|-------------------------------|
| 2017-04-26 22:37:28.188000000 |
+-------------------------------+