8.5.1 CONCAT
2つの文字データを連結します。
バイナリデータとバイナリデータを連結するスカラ関数については,「8.10.1 CONCAT」を参照してください。
- 〈この項の構成〉
(1) 指定形式
スカラ関数CONCAT::=CONCAT(対象データ1,対象データ2) 対象データ1::=値式 対象データ2::=値式
(2) 指定形式の説明
- 対象データ1および対象データ2:
-
連結する文字データを指定します。
指定規則を次に示します。
-
対象データ1および対象データ2は,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
対象データ1および対象データ2には,CHAR型またはVARCHAR型のデータを指定してください。
-
対象データ1および対象データ2には,?パラメタを単独で指定できません。
-
スカラ関数CONCATの実行結果の例を次に示します。
- (例)
-
2つの文字データ(ABCとXYZ)を連結します。
CONCAT('ABC','XYZ') → 'ABCXYZ'
(3) 規則
-
実行結果のデータ型とデータ長を次の表に示します。
表8‒11 スカラ関数CONCATの実行結果のデータ型とデータ長 対象データ1のデータ型とデータ長
対象データ2のデータ型とデータ長
実行結果のデータ型とデータ長
CHAR(m)
CHAR(n)
CHAR(m+n)
VARCHAR(n)
実データ長:L2
VARCHAR(m+n)
実データ長:m+L2
VARCHAR(m)
実データ長:L1
CHAR(n)
VARCHAR(m+n)
実データ長:L1+n
VARCHAR(n)
実データ長:L2
VARCHAR(m+n)
実データ長:L1+L2
- (凡例)
-
m:対象データ1の最大長
n:対象データ2の最大長
L1:対象データ1の実データ長
L2:対象データ2の実データ長
-
実行結果の値は,非ナル値制約なし(ナル値を許す)となります。
-
対象データ1または対象データ2のどちらかがナル値の場合,実行結果はナル値になります。
-
対象データ1と対象データ2を連結した結果,最大長が32,000バイトを超える文字データを連結することはできません。
-
CHAR型のデータの末尾に半角空白が格納されている場合,その半角空白も連結の対象になります。
(例)
C1列がCHAR(5)で値が'ABC△△',C2列がVARCHAR(10)で値が'XYZ'の場合,次のように連結されます。
CONCAT("C1","C2") → 'ABC△△XYZ'
CONCAT("C2","C1") → 'XYZABC△△'
(凡例)△:半角空白
(4) 例題
- 例題
-
表T1のC2列の文字データとC3列の文字データを連結し,連結結果が'efg03v03'の行を検索します。
SELECT * FROM "T1" WHERE CONCAT("C2","C3")='efg03v03'