Hitachi

Hitachi Advanced Data Binder SQLリファレンス


8.5.2 LEFT

文字データの先頭(左)から一部の文字列を抽出します。

〈この項の構成〉

(1) 指定形式

スカラ関数LEFT::=LEFT(抽出元の文字データ,抽出文字数)
 
  抽出元の文字データ::=値式
  抽出文字数::=値式

(2) 指定形式の説明

抽出元の文字データ

抽出元の文字データを指定します。

指定規則を次に示します。

  • 抽出元の文字データは,値式の形式で指定します。値式については,「7.21 値式」を参照してください。

  • 抽出元の文字データには,CHAR型またはVARCHAR型のデータを指定してください。

  • 抽出元の文字データには,?パラメタを単独で指定できません。

抽出文字数

抽出する文字数を指定します。抽出元の文字データの先頭から,指定した文字数分の文字列が抽出されます。

指定規則を次に示します。

  • 抽出文字数は,値式の形式で指定します。値式については,「7.21 値式」を参照してください。

  • 抽出文字数には,整数(INTEGERBIGINT型,またはSMALLINT型のデータ)を指定してください。

  • 抽出文字数に?パラメタを単独で指定した場合,?パラメタに仮定されるデータ型はINTEGER型になります。

スカラ関数LEFTの実行結果の例を次に示します。

(例)

文字列'ABCDEF'の先頭から3文字分のデータを抽出します。

LEFT('ABCDEF',3) → 'ABC'

(3) 規則

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

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

    抽出元の文字データのデータ型とデータ長

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

    CHAR(n)

    VARCHAR(n)

    VARCHAR(n)

    (凡例)

    n:抽出元の文字データの最大長

    抽出される文字数は次のようになります。

    MIN(抽出文字数抽出元の文字データの文字数

  2. 「抽出文字数>抽出元の文字データの文字数」の場合,抽出元の文字データの文字数分のデータが返されます。

  3. 次に示す場合,実行結果は実長0バイトのデータになります。

    • 実行結果の文字列の長さが0の場合

    • 抽出元の文字データが実長0バイトまたは実長0文字の場合

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

  5. 次に示す場合,実行結果はナル値になります。

    • 抽出元の文字データまたは抽出文字数のどちらかがナル値の場合

    • 抽出文字数が負の値の場合(抽出元の文字データの指定に関係なくナル値になります)

(4) 例題

例題

T1C1列のデータで,先頭から3文字分のデータが'A15'の行を検索します。

SELECT * FROM "T1"
    WHERE LEFT("C1",3)='A15'

[図データ]