Hitachi

Hitachi Advanced Data Binder SQLリファレンス


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つの文字データ(ABCXYZ)を連結します。

CONCAT('ABC','XYZ') → 'ABCXYZ'

(3) 規則

  1. 実行結果のデータ型とデータ長を次の表に示します。

    表8‒11 スカラ関数CONCATの実行結果のデータ型とデータ長

    対象データ1のデータ型とデータ長

    対象データ2のデータ型とデータ長

    実行結果のデータ型とデータ長

    CHAR(m)

    CHAR(n)

    CHAR(mn)

    VARCHAR(n)

    実データ長:L2

    VARCHAR(mn)

    実データ長:mL2

    VARCHAR(m)

    実データ長:L1

    CHAR(n)

    VARCHAR(mn)

    実データ長:L1n

    VARCHAR(n)

    実データ長:L2

    VARCHAR(mn)

    実データ長:L1L2

    (凡例)

    m対象データ1の最大長

    n対象データ2の最大長

    L1対象データ1の実データ長

    L2対象データ2の実データ長

  2. 実行結果の値は,非ナル値制約なし(ナル値を許す)となります。

  3. 対象データ1または対象データ2のどちらかがナル値の場合,実行結果はナル値になります。

  4. 対象データ1対象データ2を連結した結果,最大長が32,000バイトを超える文字データを連結することはできません。

  5. CHAR型のデータの末尾に半角空白が格納されている場合,その半角空白も連結の対象になります。

    (例)

    C1列がCHAR(5)で値が'ABC△△'C2列がVARCHAR(10)で値が'XYZ'の場合,次のように連結されます。

    CONCAT("C1","C2") → 'ABC△△XYZ'

    CONCAT("C2","C1") → 'XYZABC△△'

    (凡例)△:半角空白

(4) 例題

例題

T1C2列の文字データとC3列の文字データを連結し,連結結果が'efg03v03'の行を検索します。

SELECT * FROM "T1"
    WHERE CONCAT("C2","C3")='efg03v03'

[図データ]