RTRIM スカラー関数

RTRIM 関数は、指定した文字のいずれかをストリングの末尾から除去します。

RTRIM 関数は、トリム式に含まれる文字をストリング式の末尾から除去します。 文字検索では、トリム式の各文字 (1 バイト以上) のバイナリー表現と、ストリング式の末尾にある各文字 (1 バイト以上) のバイナリー表現が比較されます。 データベース照合は、検索に影響しません。 ストリング式が FOR BIT DATA として定義されているか、バイナリー・タイプである場合、検索はトリム式の各バイトをストリング式の末尾のバイトと比較します。

Read syntax diagramSkip visual syntax diagramRTRIM( string-expression ,trim-expression )

スキーマは SYSIBM です。 (1 つのパラメーターを使用するこの関数の SYSFUN バージョンでは、CLOB 引数のサポートが引き続き有効です。)

ストリング式
ソース・ストリングを指定する式。
  • 引数を 1 つしか指定しない場合、式は、組み込みの文字ストリング、グラフィック・ストリング、バイナリー・ストリング、CLOB 値または DBCLOB 値、 ブール値、数値、または日時値を戻す必要があります。 値に応じて以下のようになります。
    • CHAR、VARCHAR、GRAPHIC、VARGRAPHIC、BINARY、VARBINARY、DBCLOB のいずれの値でもない場合、関数の評価の前に VARCHAR に暗黙的にキャストされます。
    • DBCLOB 値の場合は、関数の評価の前に VARGRAPHIC に暗黙的にキャストされます。
    ストリング式のデータ・タイプを BLOB にすることはできません (SQLSTATE 42815)。
  • 両方の引数を指定する場合、式は組み込み文字ストリング、 ブール値、 数値、または日時値を戻す必要があります。 string-expression 値のデータ・タイプがストリングでない場合は、関数の評価の前にその値が VARCHAR に暗黙的にキャストされます。 CLOB 値の実際の長さは、VARCHAR データ・タイプの最大サイズに制限されます (SQLSTATE 22001)。 BLOB 値の実際の長さは、VARBINARY データ・タイプの最大サイズに制限されます (SQLSTATE 22001)。 DBCLOB 値の実際の長さは、VARGRAPHIC データ・タイプの最大サイズに制限されます (SQLSTATE 22001)。
トリム式
string-expressionの末尾から削除される文字を指定する式。 この式は、組み込みデータ・タイプであるストリング、数値、日時のいずれかの値でなければなりません。
  • trim-expression のデータ・タイプがストリングでない場合は、関数の評価の前にその値が VARCHAR に暗黙的にキャストされます。
  • trim-expression のデータ・タイプが CLOB である場合、値の実際の長さは、VARCHAR の最大サイズに制限されます (SQLSTATE 22001)。
  • trim-expression のデータ・タイプが DBCLOB である場合、値の実際の長さは、VARGRAPHIC の最大サイズに制限されます (SQLSTATE 22001)。
  • trim-expression のデータ・タイプが BLOB である場合、値の実際の長さは、VARBINARY の最大サイズに制限されます (SQLSTATE 22001)。
  • string-expression が FOR BIT DATA として定義されていない場合、trim-expression は FOR BIT DATA として定義できません (SQLSTATE 42815)。
trim-expression を指定しない場合、使用するデフォルト値は、string-expression のデータ・タイプによって以下のように決まります。
  • string-expression が DBCS または EUC データベースの GRAPHIC ストリングである場合、2 バイト・ブランク
  • string-expression が Unicode データベースの GRAPHIC ストリングである場合、UCS-2 ブランク
  • string-expression が FOR BIT DATA ストリングである場合、値 X'20'
  • string-expression がバイナリー・ストリングである場合、値 X'00'
  • その他すべての場合、1 バイト・ブランク

string-expression および trim-expression の値は、互換性のあるデータ・タイプでなければなりません。 これらの引数の一方が FOR BIT DATA 文字ストリングである場合、もう一方の引数を GRAPHIC ストリングにすることはできません (SQLSTATE 42846)。 文字ストリング引数と GRAPHIC ストリング引数の組み合わせは、Unicode データベースでのみ使用できます (SQLSTATE 42815)。

結果

結果のデータ・タイプは、次のように string-expression のデータ・タイプによって決まります。
  • データ・タイプが VARCHAR または CHAR の場合、VARCHAR
  • データ・タイプが CLOB の場合、CLOB
  • データ・タイプが VARBINARY または BINARY の場合、VARBINARY
  • データ・タイプが BLOB の場合、BLOB
  • データ・タイプが VARGRAPHIC または GRAPHIC の場合、VARGRAPHIC
  • データ・タイプが DBCLOB の場合、DBCLOB

結果データ・タイプの長さ属性は、string-expression データ・タイプの長さ属性と同じになります。

文字ストリングまたはバイナリー・ストリングの結果の実際の長さは、 string-expression から除去されるストリング単位の数を引いた長さです。 結果が GRAPHIC ストリングである場合の実際の長さは、除去されるストリング単位数を string-expression から引いた値になります。 すべての文字が除去されると、結果は長さがゼロの空ストリングになります。

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

  • 例 1: ホスト変数 HELLO が CHAR(6) として定義されており、値は「Hello 」であるときに、RTRIM 関数を使用します。
       VALUES RTRIM(:HELLO)
    結果は 'Hello' になります。 trim-expression が指定されていないときは、ブランクのみが除去されます。 ホスト変数は CHAR(9) として宣言されており、9 バイトまでブランクが埋め込まれています。
  • 例 2: RTRIM 関数を使用して、trim-expression に指定した文字を string-expression の末尾から除去します。
       VALUES RTRIM('...$VAR$...', '$.')
    結果は '...$VAR' です。
  • 例 3: RTRIM 関数を使用して、trim-expression に指定した文字を string-expression の末尾から除去します。
       VALUES RTRIM('((-78.0) )', '-0. ()')
    結果は '((-78' です。 文字とブランクを除去するときは、trim-expression にブランクを含める必要があります。