カテゴリ:

文字列とバイナリ関数 (一般)

RTRIM

空白を含む末尾の文字を文字列から削除します。

注釈

文字列内の文字を削除するには、 REPLACE 関数を使用します。

こちらもご覧ください:

LTRIMTRIM

構文

RTRIM(<expr> [, <characters> ])
Copy

引数

expr

削除される文字列式です。

characters

expr の右側から削除する1つ以上の文字です。

デフォルト値は ' ' (単一空白文字)です。文字が指定されていない場合は、空白のみが削除されます。

戻り値

この関数は VARCHAR データ型の値または NULL を返します。いずれかの引数が NULL の場合は、 NULL を返します。

使用上の注意

  • characters で任意の順番で文字を指定できます。

  • characters での ' ' の指定は、他の空白文字(タブ文字や行末文字など)を削除しません。これらの文字を削除するには、明示的に指定します。

  • characters を指定する場合は、空白を削除する文字を明示的に指定する必要があります。たとえば、 ' $.' は、入力文字列から後続の空白スペース、ドル記号、ピリオドをすべて削除します。

照合順序の詳細

オプションの2番目の引数が省略されている場合、または空白のみが含まれている場合は、 照合 がサポートされます。

戻り値の照合指定は、最初の引数の照合指定と同じです。

文字列から末尾の 0 および . 文字を削除します。

SELECT RTRIM('$125.00', '0.');
Copy
+------------------------+
| RTRIM('$125.00', '0.') |
|------------------------|
| $125                   |
+------------------------+

残りの例では、以下のテーブルデータを使用します。また、クエリでは文字列を >< で囲むと、空白を視覚化することができます。

CREATE OR REPLACE TABLE test_rtrim_function(column1 VARCHAR);

INSERT INTO test_rtrim_function VALUES ('Trailing Spaces#  ');
Copy

文字列から末尾の空白を削除します。この例では、2番目の characters 引数を指定していません。なぜなら、デフォルトでは空白だからです。

SELECT CONCAT('>', CONCAT(column1, '<')) AS original_value,
       CONCAT('>', CONCAT(RTRIM(column1), '<')) AS trimmed_value
  FROM test_rtrim_function;
Copy
+----------------------+--------------------+
| ORIGINAL_VALUE       | TRIMMED_VALUE      |
|----------------------+--------------------|
| >Trailing Spaces#  < | >Trailing Spaces#< |
+----------------------+--------------------+

文字列から先頭の空白と # を削除します。この例では、空白に加えて他の文字も削除するため、2番目の引数 characters を指定しています。

SELECT CONCAT('>', CONCAT(column1, '<')) AS original_value,
       CONCAT('>', CONCAT(RTRIM(column1, '# '), '<')) AS trimmed_value
  FROM test_rtrim_function;
Copy
+----------------------+-------------------+
| ORIGINAL_VALUE       | TRIMMED_VALUE     |
|----------------------+-------------------|
| >Trailing Spaces#  < | >Trailing Spaces< |
+----------------------+-------------------+