タイムゾーンを組み込んだ変換 - Teradata Database - Teradata Vantage NewSQL Engine - タイムゾーンを含む文字からTIMESTAMPへの変換。

Teradata Vantage™ データ タイプおよびリテラル

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

タイムゾーンを組み込んだ文字からTIMESTAMPへの変換には、以下のルールが適用されます。

  • ターゲットのデータ型がタイムゾーンを指定しない場合、例えばTIMESTAMP(0)のソース文字列には、形式+hh:miまたは-hh:miのタイムゾーンを含めることができますが、それを指定できるのは時刻の直前または直後のみです。

    例えば、以下の変換は正常に実行されます。

    SELECT CAST ( '2008-09-19 11:23:44-02:00'
    AS TIMESTAMP(0) FORMAT 'Y4-MM-DDBHH:MI:SSBZ' );

    以下の変換は、タイムゾーンと時刻との間のブランク分離文字が原因で失敗します。

    SELECT CAST ( '2008-01-19 +02:00 11:23:44'
    AS TIMESTAMP(0) FORMAT 'Y4-MM-DDBZBHH:MI:SS' );
  • ソースの文字列にタイムゾーンが含まれており、ターゲットのデータ型がタイムゾーンを指定していない場合、変換では文字列内のタイムゾーンを使用して、文字列を万国標準時(UTC)に変換します。これは、FORMAT句にタイムゾーンの書式設定文字が含まれているかどうかに関係なく実行されます。
    SELECT CAST ('2002-02-20 10:15:12+12:30' AS TIMESTAMP(0));
  • ターゲットのFORMAT句にタイムゾーンの書式設定文字が含まれており、ターゲットの文字列にタイムゾーンが含まれていない場合、出力にはセッションのタイムゾーンが入ります。これは、ターゲットのデータ型がタイムゾーンを指定しているかどうかに関係なく実行されます。
    SELECT CAST ('2002-02-20 10:15:12' 
    AS TIMESTAMP(0) WITH TIME ZONE FORMAT 'Y4-MM-DDBHH:MI:SSBZ');
  • ソースの文字列とターゲットのデータ型の両方がタイムゾーンを指定していない場合、ソースの文字列は現在のセッションのタイムゾーンに基づいて、内部的にUTCに変換されます。