TRIM
TRIM 関数はブランクまたは指定されたその他の文字を、 ストリング式の末尾、先頭、またはその両側から除去します。
>>-TRIM--(--+-----------------------------------------+--expression--)->< | .-BOTH-----. | '-+----------+--+-----------------+--FROM-' +-B--------+ '-strip-character-' +-LEADING--+ +-L--------+ +-TRAILING-+ '-T--------'
最初の引数を指定する場合は、ストリングの後部と前部のどちらから文字を除去するのかを指示します。 最初の引数を指定しない場合は、ストリングの前部と後部の両方から文字が除去されます。
- strip-character
- 2 番目の引数が指定された場合、除去する 2 進数、SBCS または DBCS 文字を示す 1 文字定数となります。
式 が 2 進ストリングの場合、
2 番目の引数は 2 進ストリング定数でなければなりません。
式 が DBCS グラフィック・ストリングまたは DBCS 専用ストリングである場合は、
2 番目の引数は、1 つの DBCS 文字からなるグラフィック定数にする必要があります。
2 番目の引数を指定しない場合は、次のようになります。
- 式 が 2 進ストリングの場合、 デフォルトの除去文字は 16 進ゼロ (X'00') になる。
- 式 が DBCS グラフィック・ストリングである場合は、 デフォルトの除去文字は DBCS ブランクになる。
- 式 が Unicode グラフィック・ストリングである場合は、 デフォルトの除去文字は UTF-16 または UCS-2 ブランクになる。
- 式 が UTF-8 文字ストリングである場合は、 デフォルトの除去文字は UTF-8 ブランクになる。
- それ以外の場合は、デフォルトの除去文字は、SBCS ブランクになる。
- expression
- 任意の組み込み数値データ・タイプ、またはストリング・データ・タイプの値を戻す式。数値引数は、関数を評価する前に文字ストリングにキャストされます。 数値から文字ストリングへの変換の詳細については、VARCHARを参照してください。
結果のデータ・タイプは、式 のデータ・タイプによって異なります。
式 のデータ・タイプ | 結果のデータ・タイプ |
---|---|
CHAR または VARCHAR | VARCHAR |
CLOB | CLOB |
GRAPHIC または VARGRAPHIC | VARGRAPHIC |
DBCLOB | DBCLOB |
BINARY または VARBINARY | VARBINARY |
BLOB | BLOB |
結果の長さ属性は、式 の長さ属性と同じになります。 結果の実際の長さは、式の長さから、除去したバイトの数を引いたものになります。 すべての文字が除去された場合は、結果は空のストリングになります。
最初の引数がヌルである可能性がある場合は、結果もヌルになる可能性があります。最初の引数がヌルの場合は、結果は NULL 値になります。
結果の CCSID は、指定したストリングの CCSID と同じになります。
SRTSEQ 属性は、TRIM 関数には適用されません。
例
- ホスト変数 HELLO (タイプ CHAR(9)) には、値として「Hello 」が入っていると想定します。
結果は、それぞれ、「Hello」および「 Hello」になります。SELECT TRIM(:HELLO), TRIM( TRAILING FROM :HELLO) FROM SYSIBM.SYSDUMMY1
- ホスト変数 BALANCE (CHAR(9)) には、値として「000345.50」が入っていると想定します。
結果は「345.50」になります。SELECT TRIM( L '0' FROM :BALANCE ) FROM SYSIBM.SYSDUMMY1
- 除去するストリングの中に、混合データが入っていると想定します。
SELECT TRIM( BOTH FROM )
FROM SYSIBM.SYSDUMMY1
結果は次のようになります。