RTRIM スカラー関数

RTRIM 関数は、トリム式の内容に基づいて、ストリング式の末尾からバイトを除去します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするRTRIM(文字列式 ,トリム式 )

スキーマは SYSIBM です。

RTRIM 関数は、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-expressiontrim-expression は互換性のあるデータ・タイプを持つ必要があります。 string-expressiontrim-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 混合ストリング入力の有効な内容。
string-expression が EBCDIC 混合ストリングの場合は、ストリングには有効な EBCDIC 混合データが含まれていなければなりません。

例: RTRIM 関数を使用して、最初の引数の末尾 (右側) から、2 番目の引数に含まれる個々の数字を除去します。
SELECT RTRIM ('123DEFG123', '321'),
			 RTRIM ('12322XYZ12322222', '123'),
			 RTRIM ('12321', '213'),
			 RTRIM ('123XYX', '321')
		FROM SYSIBM.SYSDUMMY1

結果は、'123DEFG'、 '12322XYZ'、'' (空ストリング。すべての文字が除去されています)、および '123XYX' (除去された文字はありません) です。

RTRIM関数は、文字列の先頭にある「1」、「2」、「3」の文字を、「1」、「2」、「3」以外の文字の前に削除することはありません。

例: RTRIM 関数を使用して、最初の引数の末尾 (右側) から、2 番目の引数に含まれる個々の文字を除去します。
SELECT RTRIM ('((-78.0))' , '-0.()')
   FROM SYSIBM.SYSDUMMY1 

結果は '((-78' です。

例: RTRIM 関数を使用して、最初の引数の末尾 (右側) から、2 番目の引数に含まれるドル記号とピリオドを除去します。
SELECT RTRIM ('...$VAR$...', '$.')
   FROM SYSIBM.SYSDUMMY1 

結果は '...$VAR' です。