LTRIM

LTRIM 関数は、指定した文字のいずれかを式の先頭から除去します。

構文図を読む構文図をスキップする
>>-LTRIM--(--string-expression--+--------------------+--)------><
                                '-,--trim-expression-'      

LTRIM 関数は、string-expression の先頭から、trim-expression に含まれるすべての文字を除去します。照合順序は、検索に影響しません。string-expression が FOR BIT DATA として定義される場合、またはバイナリー・データ・タイプである場合、 検索は、trim-expression に含まれる各バイトを string-expression の先頭にあるバイトと比較することによって行われます。

string-expression
任意の組み込み数値データ・タイプ、日時データ・タイプ、またはストリング・データ・タイプの値を戻す式。数値または日時の引数は、関数の評価前に文字ストリングにキャストされます。1 数値または日時から文字ストリングへの変換の詳細については、VARCHARを参照してください。
trim-expression
string-expression の先頭から除去する文字を指定する式。式は任意の組み込み数値、日時、またはストリングのデータ・タイプの値を戻す必要があります。数値または日時引数は、関数を評価する前に文字ストリングにキャストされます。
trim-expression を指定しない場合、使用するデフォルト値は、string-expression のデータ・タイプによって以下のように決まります。
  • 16 進数のゼロ (X'00') (引数がバイナリー・ストリングの場合)
  • DBCS のブランク (引数が DBCS グラフィック・ストリングの場合)
  • UTF-16 または UCS-2 のブランク (最初の引数が Unicode グラフィック・ストリング・ストリングの場合)
  • UTF-8 のブランク (最初の引数が UTF-8 文字ストリングの場合)
  • それ以外の場合は、SBCS のブランク。

string-expression の値と trim-expression の値は、互換性のあるデータ・タイプである必要があります。データ・タイプの互換性についての詳細は、割り当ておよび比較を参照してください。 string-expressiontrim-expression の CCSID が異なる場合、trim-expression の CCSID は string-expression の CCSID に変換されます。

結果のデータ・タイプは、ストリング式 のデータ・タイプによって異なります。

string-expression のデータ・タイプ 結果のデータ・タイプ
CHAR または VARCHAR VARCHAR
CLOB CLOB
GRAPHIC または VARGRAPHIC VARGRAPHIC
DBCLOB DBCLOB
BINARY または VARBINARY VARBINARY
BLOB BLOB

結果の長さ属性は string-expression の 長さ属性と同じになります。 文字ストリングまたはバイナリー・ストリングの場合、結果の実際の長さは、除去されるバイト数を string-expression から引いた長さになります。結果がグラフィック・ストリングである場合の実際の長さは、除去されるグラフィック文字数を string-expression の長さから引いた値になります。 すべての文字が除去された場合は、結果は空のストリングになります。

引数のいずれかが NULL になる可能性がある場合、結果も NULL になる可能性があります。引数のいずれかが NULL の場合、その結果は NULL 値です。

結果の CCSID はstring-expression の CCSID と同じです。

  • 例 1: ホスト変数 HELLO が CHAR(9) として定義されており、値が以下であるときに、LTRIM 関数を使用します。
     '    Hello'
      VALUES LTRIM(:HELLO)
    結果は 'Hello' になります。trim-expression が指定されていないときは、ブランクのみが除去されます。
  • 例 2: LTRIM 関数を使用して、trim-expression 内の個々の数値を string-expression の先頭 (左側) から除去します。
    SELECT LTRIM ('123DEFG123', '321'),
    			 LTRIM ('12DEFG123', '321'),
    			 LTRIM ('123123222XYZ22', '123'),
    			 LTRIM ('12321', '213'),
    			 LTRIM ('XYX123 ', '321')
       FROM SYSIBM.SYSDUMMY1
    結果は、次のとおりです。
     'DEFG123'
     'DEFG123'
     'XYZ22'
     '' (an empty string - all characters removed)
     'XYX123' (no characters removed)
    LTRIM 関数は、「1」、「2」、または「3」ではない文字の後に続く、ストリング右側の「1」、「2」、および「3」のインスタンスを除去しません。
  • 例 3: LTRIM 関数を使用して、trim-expression に指定した文字を string-expression の先頭から除去します。
      VALUES LTRIM(('...$V..$AR', '$.'))
    結果は、'V..$AR' になります。関数は、trim-expression に指定されていない文字を検出すると停止します。
  • 例 4: LTRIM 関数を使用して、trim-expression に指定した文字を string-expression の先頭から除去します。
      VALUES LTRIM('[[ -78]]', '- []')
    結果は、'78]]' になります。文字とブランクを除去するときは、trim-expression にブランクを含める必要があります。
1 引数を 1 つ指定した LTRIM 関数は、STRIP(string-expression,LEADING) と同じ結果を返します。