TRUNC_TIMESTAMP
TRUNC_TIMESTAMP 関数は、timestamp-expression を format-string によって指定された単位に切り捨てたタイム・スタンプを返します。format-string を指定しないと、expression は、format-string に「DD」が指定されたものとして、最も近い日に切り捨てられます。
.-,--'DD'----------. >>-TRUNC_TIMESTAMP--(--expression--+------------------+--)----->< '-,--format-string-'
- expression
- 日付、タイム・スタンプ、文字ストリング、またはグラフィック・ストリングのいずれかの組み込みデータ・タイプの値を返す式。
- expression が文字ストリング またはグラフィック・ストリングの場合、その値は、日付またはタイム・スタンプの有効なストリング表現でなければなりません。最初に TIMESTAMP(12) 値に変換されます。 日付とタイム・スタンプのストリング表現の有効な形式に ついては、日付/時刻の値のストリング表記を参照してください。
- format-string
- 組み込み文字ストリング・データ・タイプか、グラフィック・ストリング・データ・タイプを戻す式。 format-string には、expression をどのように切り捨てるのか を示すテンプレートが含まれます。例えば、format-string が 'DD' である場合、expression で表されるタイム・スタンプは、直近の日に切り捨てられます。 前後のブランクはストリングから除去され、結果として得られるサブストリングは 、タイム・スタンプとして有効なテンプレートでなければなりません。その結果の値は大文字変換されるため、値の中の文字は大文字、小文字のどちらでも構いません。format-string に指定できる値を、表 1 にリストします。
関数の結果は以下のタイム・スタンプ精度の TIMESTAMP になります。
- expression のデータ・タイプが TIMESTAMP(p) の場合は p。
- expression のデータ・タイプが DATE の場合は 0。
- それ以外の場合は 6。
引数のどちらかが NULL になる可能性がある場合は、結果も NULL になる可能性が あります。引数のどちらかが NULL である場合は、結果は NULL 値になります。
例
- 現在の年を最も近い年の値に切り捨てた値を、ホスト変数 TRN_TMSTMP に設定します。
ホスト変数 TRN_TMSTMP には、値 2000-01-01-00.00.00.000000 が設定されます。SET :TRN_TMSTMP = TRUNC_TIMESTAMP('2000-03-14-17.30.00', 'YEAR');