17.10 - データ型の互換性 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

各SELECT文の中の対応するフィールドのデータ型には互換性が必要です。例えば、最初のSELECT文の最初のフィールドが文字のデータ型の場合、後続の各SELECT文の最初のフィールドも、文字のデータ型でなければなりません。

対応する数値型は同じである必要はありませんが、互換性がなければなりません。例えば、1つのSELECT文の中のフィールドをINTEGERとして定義し、別のSELECT文の対応するフィールドをSMALLINTとして定義できます。

最初のSELECT文のデータ型によって、結果セットの対応する列のデータ型が決まります。

以下のテーブルは、データ型の互換性の詳細をまとめたものです。

データ型 詳細
Character 最初のSELECT文の文字型では、結果セットの文字列の長さが決定されます。そのため、最初のSELECT文の文字型の長さが後続のSELECT文の対応する文字型の長さより短い場合に、結果セットの文字列で切り捨てが行なわれることがあります。

最初のSELECT文に含まれる式の文字セットによって、問合わせ全体の文字セットが決まります。

Numeric 最初のSELECT文の数値タイプにより、結果セットの数値タイプのサイズが決定されます。後続のSELECT文の対応するすべての数値フィールドが、最初のSELECT文の数値データ型に変換されます。このため、最初のSELECT文の数値タイプのサイズが後続のSELECT文の対応する数値タイプのサイズより小さい場合は、数値のオーバーフロー エラーが発生することがあります。また、後続の文によって返される値は、より小さいデータ型には適合しません。
TIME

TIMESTAMP

PERIOD(TIME)

PERIOD(TIMESTAMP)

最初のSELECT文のTIME、TIMESTAMP、PERIOD(TIME)、およびPERIOD(TIMESTAMP)型により、結果セット内の対応する行の精度が決定されます。後続のSELECT文の対応するすべてのフィールドが、最初のSELECT文のデータ型に暗黙的に変換されます。対応するフィールドにタイムゾーンがなく、最初のSELECT文のデータ型にタイムゾーンがある場合、タイムゾーンは、現在のセッションのタイムゾーンの変位に設定されます。対応するフィールドの精度が最初のSELECT文のデータ型の精度より低い場合は、必要に応じて小数桁にゼロが追加されます。後続のSELECT文の対応するフィールドの精度が、最初のSELECT文のデータ型の精度より高い場合は、エラーが報告されます。