16.20 - 文字からUDTへの暗黙的変換 - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN
Teradata Databaseは、以下の操作に対して文字からUDTへの暗黙変換を実行します。
  • UPDATE
  • INSERT
  • ストアド プロシージャ、外部ストアド プロシージャ、UDF、およびUDMへの引数の引き渡し。
  • このドキュメント中の他の箇所に明記されている特定のシステム演算子と関数(DBS制御レコードのDisableUDTImplCastForSysFuncOpフィールドがTRUEに設定されていない場合に限る)。

暗黙のデータ型変換を実行するには、AS ASSIGNMENT句を指定する適切なCAST定義(使用上の注意を参照)が存在していなければなりません。

CAST定義のソース文字タイプは、暗黙変換のソース文字タイプと正確に一致している必要はありません。Teradata Databaseでは、CHAR、VARCHAR、またはCLOBソース タイプを指定する暗黙のCAST定義を使用することができます。

別々の文字タイプからUDTへの変換の場合に複数の暗黙CAST定義が存在する場合、Teradata Databaseは優先順位の最も高い文字タイプの暗黙CAST定義を使用します。以下のリストでは、文字タイプの優先順位が最低から最高の順に並べられています。
  • CHAR
  • VARCHAR
  • CLOB

CLOB以外の文字タイプの場合、文字からUDTへの暗黙CAST定義が存在しないと、Teradata Databaseはその代用になる他のCAST定義を探します。

存在する暗黙CAST定義の組み合わせ Teradata Databaseの動作
数値からUDT DATEからUDT TIMEからUDT TIMESTAMPからUDT  
X       NUMERICからUDTへの暗黙CAST定義を使用する。

NUMERICからUDTへの暗黙CAST定義が複数存在する場合、Teradata DatabaseはSQLエラーを戻します。

  X     DATEからUDTへの暗黙CAST定義を使用する。
    X   TIMEからUDTへの暗黙CAST定義を使用する。
      X TIMESTAMPからUDTへの暗黙CAST定義を使用する。
X X     エラーを報告する。
X   X  
X     X
  X X  
  X   X
    X X
X X X  
X X   X
X   X X
  X X X
X X X X

Teradata DatabaseはCLOB以外の文字タイプを代用データ型に暗黙でキャストしてから、暗黙CAST定義を使用して、その代用データ型からUDTへのキャストを行なえるため、代用は有効です。