LTRIM スカラー関数
LTRIM 関数は、トリム式の内容に基づいて、ストリング式の先頭からバイトを除去します。
スキーマは SYSIBM です。
LTRIM 関数は、string-expression の先頭から、trim-expression に含まれるすべての文字を除去します。 検索は、trim-expression に含まれる各文字のバイナリー表現 (1 つ以上のバイトで構成される) を string-expression の先頭にあるバイトと比較することによって行われます。 string-expression が FOR BIT DATA として定義される場合、検索は、trim-expression に含まれる各バイトを string-expression の先頭にあるバイトと比較することによって行われます。
- 文字列式
- ソース・ストリングを指定する式。 引数は、LOB ではない組み込みストリング・データ・タイプの値、または数値データ・タイプの値を返す式でなければなりません。 ストリング・データ・タイプでない値は、関数の評価の前に VARCHAR に暗黙的にキャストされます。 string-expression が FOR BIT DATA でない場合、trim-expression を FOR BIT DATA にすることはできません。
- トリム式
- string-expression の先頭から除去する文字を指定する式。 この式は、LOB ではない組み込みストリング・データ・タイプ、または数値データ・タイプの値を返す必要があります。 ストリング・データ・タイプでない値は、関数の評価の前に VARCHAR に暗黙的にキャストされます。
trim-expression のデフォルトは、string-expression のデータ・タイプによって異なります。
- string-expression が DBCS グラフィック・ストリングであれば DBCS のブランク。 ASCII の場合、DBCS のブランクを表す 16 進値は、CCSID によって決まります。 例えば、日本語 (CCSID 301) の場合は X'8140' が DBCS のブランクを表し、中国語 (簡体字) の場合は X'A1A1' が DBCS のブランクを表します。 EBCDIC の場合は X'4040' が DBCS のブランクを表します。
- 文字列表現がUnicodeグラフィック文字列の場合、 UTF-16 または UCS-2 のブランク (X'0020' )。
- 文字列式がバイナリ文字列の場合、値は X'00' です。
- それ以外の場合は、1 バイトのブランク。 EBCDIC の場合は、X'40' がブランクを示します。 EBCDIC でない場合は、X'20' がブランクを示します。
string-expression と trim-expression は互換性のあるデータ・タイプを持つ必要があります。 string-expression と trim-expression の CCSID セットが異なる場合、trim-expression の CCSID は string-expression の CCSID に変換されます。
関数の結果は、string-expression のデータ・タイプによって決まります。
- string-expression が文字ストリングであれば VARCHAR。 string-expression が FOR BIT DATA として定義されている場合、結果は FOR BIT DATA です。
- string-expression がグラフィックであれば VARGRAPHIC。
- string-expression がバイナリー・ストリングであれば VARBINARY。
結果の長さ属性は、string-expression の長さ属性と同じになります。
結果が文字ストリングまたはバイナリー・ストリングである場合の実際の長さは、除去されるバイト数を string-expression から引いた長さになります。 グラフィック・ストリングである場合、結果の実際の長さは、除去される 2 バイト文字の数を string-expression から引いた長さ (2 バイト文字単位) になります。 すべての文字バイトが除去された場合、結果は空ストリング (長さゼロ) です。
結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。
結果の CCSID は string-expression の CCSID と同じです。
注
EBCDIC 混合ストリング入力の有効な内容。
文字列表現がEBCDIC混合文字列である場合、その文字列は有効なEBCDIC混合データを含んでいなければなりません。
例
- 例: LTRIM関数を使用して、第2引数の個々の数値を第1引数の先頭から削除します
SELECT LTRIM ('123DEFG123', '321'), LTRIM ('12DEFG123', '321'), LTRIM ('123123222XYZ22', '123'), LTRIM ('12321', '213'), LTRIM ('XYX123 ', '321') FROM SYSIBM.SYSDUMMY1結果は、'
DEFG123'、'DEFG123'、'XYZ22'、'' (空ストリング。すべての文字が除去されています)、および 'XYX123' (除去された文字はありません) です。LTRIM 関数は、「1」、「2」、または「3」ではない文字の後に続く、ストリング右側の「1」、「2」、および「3」のインスタンスを除去しません。
- 例: LTRIM関数を使用して、第2引数の先頭にある個々の特殊文字を第1引数の先頭から削除します
SELECT LTRIM ('[[ -78]]', '- []') FROM SYSIBM.SYSDUMMY1結果は '
78]]' です。- 例: LTRIM関数を使用して、第2引数のドル記号とピリオドを第1引数の先頭から削除します
SELECT LTRIM ('...$V..$AR', '$.') FROM SYSIBM.SYSDUMMY1結果は '
V..$AR' です。- 例: LTRIM 関数を使用して、マルチバイト X'D090' 文字全体をトリムします。
- これらのストリングは UTF-8 でエンコードされているとします。
SELECT LTRIM (X'D090D091D092', X'D090') FROM SYSIBM.SYSDUMMY1結果は
X'D091D092'です。この関数は個々のバイト x'D0' および x'90' を除去しないことに注意してください。
