- カテゴリ:
コンテキスト関数 (一般)
CURRENT_TIMESTAMP¶
システム用にローカルタイムゾーンの現在のタイムスタンプを返します。
- エイリアス:
構文¶
CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )
CURRENT_TIMESTAMP
引数¶
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';
少数秒の精度が2に設定された現在のタイムスタンプを返します。
SELECT CURRENT_TIMESTAMP(2);+------------------------+ | CURRENT_TIMESTAMP(2) | |------------------------| | 2017-04-26 22:37:22.83 | +------------------------+
少数秒の精度が4に設定された現在のタイムスタンプを返します。
SELECT CURRENT_TIMESTAMP(4);+--------------------------+ | CURRENT_TIMESTAMP(4) | |--------------------------| | 2017-04-26 22:37:25.3530 | +--------------------------+
少数秒の精度がデフォルト(9)に設定された現在のタイムスタンプを返します。
SELECT CURRENT_TIMESTAMP;+-------------------------------+ | CURRENT_TIMESTAMP | |-------------------------------| | 2017-04-26 22:37:28.188000000 | +-------------------------------+