TIMESTAMP_TZ スカラー関数

TIMESTAMP_TZ 関数は、入力引数から TIMESTAMP WITH TIME ZONE 値を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするTIMESTAMP_TZ( expression-1, expression-2)

スキーマは SYSIBM です。

expression-1
次のいずれかの組み込みデータ・タイプの値を戻す式。
  • タイム・ゾーンなしのタイム・スタンプ
  • タイム・ゾーン付きのタイム・スタンプ
  • 文字ストリング
  • グラフィック・ストリング
expression-1 が文字ストリングまたはグラフィック・ストリングの場合、以下の規則に準拠する必要があります。
  • CLOB または DBCLOB であってはならない
  • その値が、タイム・ゾーン値なしのタイム・スタンプまたはタイム・ゾーン値付きのタイム・スタンプの有効なストリング表現である
  • 実際の長さが 255 バイト以下である
日時値の文字列表現の有効な形式については、 「日時値の文字列表現」を参照してください。

expression-2 を指定した場合、expression-1 はタイム・ゾーンなしのタイム・スタンプ、またはタイム・ゾーンなしのタイム・スタンプのストリング表現にする必要があります。

expression-2
文字ストリングまたはグラフィック・ストリングを戻す式。

変更の開始expression-2 文字列またはグラフィック文字列である場合、CLOB または DBCLOB であってはなりません。また、その値は、-24:00 から +24:00 までの値を持つ '± th : tm ' 形式のタイム ゾーンの有効な文字列表現である必要があります。ここで、 th はタイム ゾーンの時間を表し、 tm はタイム ゾーンの分を表します。変更の終わり

この関数の結果は、以下の表に示さすように、CAST 指定の呼び出しと同等です。

表 1. TIMESTAMP_TZ 関数および同等の CAST 指定
TIMESTAMP_TZ 関数構文 同等の CAST 指定構文
TIMESTAMP_TZ(timestamp_wo_tz) CAST(timestamp_wo_tz AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, n) CAST(timestamp_wo_tz AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, timezone) CAST(CONCAT(VARCHAR(timestamp_wo_tz, timezone) AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_wo_tz, timezone, n) CAST(CONCAT(VARCHAR(timestamp_wo_tz, timezone) AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz) CAST(timestamp_w_tz AS TIMESTAMP WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz, n) CAST(timestamp_w_tz AS TIMESTAMP(n) WITH TIME ZONE)
TIMESTAMP_TZ(timestamp_w_tz, timezone) 該当なし
TIMESTAMP_TZ(timestamp_w_tz, timezone, n) 該当なし
タイムスタンプ(タイムゾーンなし)
タイム・ゾーン値なしのタイム・スタンプ。
タイムスタンプ(タイムゾーン付き)
タイム・ゾーン値付きのタイム・スタンプ。
タイム・ゾーン
タイム・ゾーン値。
n
精度値。

タイム・スタンプのストリング表現が 1 バイト文字セット (SBCS) データのデフォルトの CCSID とは異なる CCSID を備えた SBCS の場合、その値は、SBCS データのデフォルトの CCSID に変換されてから解釈され、タイム・スタンプ値に変換されます。

代替構文:
引数を 1 つしか指定しない場合、CAST 規格を使用して、最大限の移植性を確保する必要があります。 詳しくは、CAST仕様書をご覧ください

FROM_TZ は、TIMESTAMP_TZ が expression-1expression-2 の両方を指定する場合、TIMESTAMP_TZ の同義語として指定できます。

例 1:
TIMES は 2008-02-29-20.00.00.000000 という値を持つホスト変数であり、TZ は -3:00 という値を持つホスト変数であるとします。 TIMES および TZ をタイム・ゾーン付きのタイム・スタンプに変換します。
SET :TIMESZ = TIMESTAMP_TZ(:TIMES, :TZ);
ホスト変数 TIMESZ は、2008-02-29-20.00.00.000000 -03:00 というタイム・ゾーン付きのタイム・スタンプを表現する値に設定されます。