Hitachi

Hitachi Advanced Data Binder SQLリファレンス


7.26.1 連結演算の指定形式および規則

値式中に連結演算を指定できます。

〈この項の構成〉

(1) 指定形式

連結演算::={値式一次子文字値式値式一次子文字値式||値式一次子バイナリ値式値式一次子バイナリ値式||値式一次子

(2) 指定形式の説明

値式一次子

値式一次子については,「7.20.1 値式の指定形式および規則」を参照してください。

文字値式

文字値式については,「7.20.1 値式の指定形式および規則」を参照してください。

バイナリ値式

バイナリ値式については,「7.20.1 値式の指定形式および規則」を参照してください。

(3) 連結演算の種類

連結演算の種類を次の表に示します。

表7‒37 連結演算の種類

項番

連結演算

機能

1

第1演算項と第2演算項を連結します。

2

||

例えば,'ABC'+'DEF'という演算の場合,'ABC'が第1演算項,'DEF'が第2演算項になります。

(4) 規則

  1. 第1演算項および第2演算項には,文字データまたはバイナリデータを指定してください。

  2. 第1演算項および第2演算項に指定できるデータ型の組み合わせを次の表に示します。

    表7‒38 連結演算の第1演算項および第2演算項に指定できるデータ型の組み合わせ

    第1演算項のデータ型

    第2演算項のデータ型

    CHAR

    VARCHAR

    BINARY

    VARBINARY

    CHAR

    ×

    ×

    VARCHAR

    ×

    ×

    BINARY

    ×

    ×

    VARBINARY

    ×

    ×

    (凡例)

    ○:指定できます。

    ×:指定できません。

  3. 連結演算は,最大500個の演算子(||)を使った演算ができます。ただし,演算項に指定した値式中に指定した列が,ビュー表の列,導出表の列,または問合せ名の列の場合,その基となる値式を展開したあとの値式の総数が10,000個以内となるようにしてください。

  4. 第1演算項または第2演算項には,?パラメタを単独で指定できません。

  5. 連結演算の結果の値は,非ナル値制約なし(ナル値を許す)となります。

  6. 第1演算項または第2演算項のどちらかがナル値の場合,連結演算の結果はナル値となります。

  7. 連結演算の結果,最大長が32,000バイトを超える文字データまたはバイナリデータを連結することはできません。

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

    (例)

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

    "C1"+"C2" → 'ABC△△XYZ'

    "C2"+"C1" → 'XYZABC△△'

    (凡例)△:半角空白

(5) 例題

例題1(文字データを連結する場合)

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

SELECT * FROM "T1"
    WHERE "C2"||"C3"='efg03v03'

[図データ]

例題2(バイナリデータを連結する場合)

T1C2列のバイナリデータとC3列のバイナリデータを連結し,連結結果がX'ABC1230000DEF456'の行を検索します。

SELECT * FROM "T1"
    WHERE "C2"||"C3"=X'ABC1230000DEF456'

[図データ]