ソースの文字列(CHAR、VARCHAR、またはCLOB)がターゲットのデータ型(CHAR、VARCHAR、またはCLOB)よりも長い場合、超過した文字は切り捨てられます。
INSERTまたはUPDATEのセッション モード | テーブルに文字の値を格納するために切り捨てられた非埋め込み文字 |
---|---|
ANSI | エラーが報告されます。 |
Teradata | エラーは報告されません。 |
埋め込み文字の除去または追加は、次のルールに従って行なわれます。
ソース文字列データ型 | length | ターゲット データ型 | 埋め込み文字 |
---|---|---|---|
CHAR | ターゲットよりも長い | CLOBまたはVARCHAR | 末尾の埋め込み文字は除去されます。 |
CHAR、VARCHAR、またはCLOB | ターゲットよりも短い | CHAR | 末尾に埋め込み文字が付加されます。 |
CHAR | すべて埋め込み文字 | CLOBまたはVARCHAR | フィールドは長さゼロに切り捨てられます。 |
例: 文字から文字への変換
次に、文字から文字への変換の例を示します。
文字列 | 文字列の長さ | 文字の説明 | 変換の結果 | 変換される長さ |
---|---|---|---|---|
'HELLO' | 5 | CHAR(3) | 'HEL'、セッションがTeradataモードの場合 | 3 |
エラー、セッションがANSIモードの場合 | ||||
'HELLO' | 5 | CHAR(7) | 'HELLO ' | 7 |
'HELLO' | 5 | VARCHAR(7) | 'HELLO' | 5 |
'HELLO ' | 7 | VARCHAR(6) | 'HELLO ' | 6 |
'HELLO ' | 7 | VARCHAR(3) | 'HEL'、セッションがTeradataモードの場合 | 3 |
エラー、セッションがANSIモードの場合 |