TIMESTAMP_TZ スカラー関数
TIMESTAMP_TZ 関数は、入力引数から TIMESTAMP WITH TIME ZONE 値を戻します。
スキーマは SYSIBM です。
- expression-1
- 次のいずれかの組み込みデータ・タイプの値を戻す式。
- タイム・ゾーンなしのタイム・スタンプ
- タイム・ゾーン付きのタイム・スタンプ
- 文字ストリング
- グラフィック・ストリング
- CLOB または DBCLOB であってはならない
- その値が、タイム・ゾーン値なしのタイム・スタンプまたはタイム・ゾーン値付きのタイム・スタンプの有効なストリング表現である
- 実際の長さが 255 バイト以下である
expression-2 を指定した場合、expression-1 はタイム・ゾーンなしのタイム・スタンプ、またはタイム・ゾーンなしのタイム・スタンプのストリング表現にする必要があります。
- expression-2
- 文字ストリングまたはグラフィック・ストリングを戻す式。
expression-2 文字列またはグラフィック文字列である場合、CLOB または DBCLOB であってはなりません。また、その値は、-24:00 から +24:00 までの値を持つ '± th : tm ' 形式のタイム ゾーンの有効な文字列表現である必要があります。ここで、 th はタイム ゾーンの時間を表し、 tm はタイム ゾーンの分を表します。
この関数の結果は、以下の表に示さすように、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) |
該当なし |
|
|
タイム・スタンプのストリング表現が 1 バイト文字セット (SBCS) データのデフォルトの CCSID とは異なる CCSID を備えた SBCS の場合、その値は、SBCS データのデフォルトの CCSID に変換されてから解釈され、タイム・スタンプ値に変換されます。
注
- 代替構文:
- 引数を 1 つしか指定しない場合、CAST 規格を使用して、最大限の移植性を確保する必要があります。 詳しくは、CAST仕様書をご覧ください
FROM_TZ は、TIMESTAMP_TZ が expression-1 と expression-2 の両方を指定する場合、TIMESTAMP_TZ の同義語として指定できます。
例
- 例 1:
- TIMES は 2008-02-29-20.00.00.000000 という値を持つホスト変数であり、TZ は -3:00 という値を持つホスト変数であるとします。 TIMES および TZ をタイム・ゾーン付きのタイム・スタンプに変換します。
ホスト変数 TIMESZ は、2008-02-29-20.00.00.000000 -03:00 というタイム・ゾーン付きのタイム・スタンプを表現する値に設定されます。SET :TIMESZ = TIMESTAMP_TZ(:TIMES, :TZ);
