連結演算子の結果は、左から右の方向に引数を連結することによって出来上がる文字列です。
arg1 || arg2のデフォルトの結果の型と属性は、次のとおりです。
- 引数がバイト列(バイナリ)である場合、結果はバイト列(バイナリ)になります。
- 引数が数値、文字列、または暗黙で文字列にキャストされるUDTである場合、結果は文字列になります。
いずれかの引数がNULLの場合、結果はNULLになります。
引数のデータ型と属性によって、連結演算子の結果タイプが固定長か可変長文字列かが決まります。結果タイプは次のテーブルに示すようになります。nは、すべての引数の長さの合計です。
| 引数 | データ型または属性 | 結果のデータ型または属性 |
|---|---|---|
| 一方 | VARBYTE | VARBYTE(n) |
| VARCHAR | VARCHAR(n) | |
| numeric | ||
| 暗黙でVARCHARにキャストされるUDT | ||
| CLOB | CLOB(n) | |
| BLOB | BLOB(n) | |
| 両方 | BYTE | BYTE(n) |
| CHARACTER (同じサーバー文字セット) | CHARACTER(n) | |
| 暗黙でCHARACTER(同じサーバー文字セット)にキャストされるUDT | ||
| CHARACTER (異なるサーバー文字セット) | VARCHAR(n) | |
| 暗黙でCHARACTER(異なるサーバー文字セット)にキャストされるUDT | ||
| numeric |
いずれかの引数がCASESPECIFIC属性を指定する文字列の場合、結果もCASESPECIFIC属性を指定します。