LTRIM
LTRIM 関数は、指定した文字のいずれかを式の先頭から除去します。
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-expression と trim-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'
結果は 'Hello' になります。trim-expression が指定されていないときは、ブランクのみが除去されます。VALUES LTRIM(:HELLO)
- 例 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
LTRIM 関数は、「1」、「2」、または「3」ではない文字の後に続く、ストリング右側の「1」、「2」、および「3」のインスタンスを除去しません。'DEFG123' 'DEFG123' 'XYZ22' '' (an empty string - all characters removed) 'XYX123' (no characters removed)
- 例 3: LTRIM 関数を使用して、trim-expression に指定した文字を string-expression の先頭から除去します。
結果は、'V..$AR' になります。関数は、trim-expression に指定されていない文字を検出すると停止します。VALUES LTRIM(('...$V..$AR', '$.'))
- 例 4: LTRIM 関数を使用して、trim-expression に指定した文字を string-expression の先頭から除去します。
結果は、'78]]' になります。文字とブランクを除去するときは、trim-expression にブランクを含める必要があります。VALUES LTRIM('[[ -78]]', '- []')