メインコンテンツまでスキップ
に最終更新

RTRIM

説明​

RTRIM 関数は、文字列の右側(末尾)から連続する空白または指定した文字列を削除します。二つ目の引数を指定しない場合は末尾の空白を削除し、指定した場合は右側から指定した文字列全体を削除します。

構文​

RTRIM(<str>[, <rhs>])

引数​

引数説明
<str>処理対象の文字列。型: VARCHAR
<rhs>省略可能な引数。末尾から削除する文字列。型: VARCHAR

戻り値​

VARCHAR 型の値を返します。

特殊なケース:

  • いずれかの引数が NULL の場合、NULL を返します
  • rhs を指定しない場合、末尾の空白を削除します
  • rhs を指定した場合、rhs の文字列全体を削除します(一文字ずつ削除するわけではありません)

例​

  1. 末尾の空白を削除する
SELECT rtrim('ab d   ') str;
+------+
| str |
+------+
| ab d |
+------+
  1. 指定した末尾の文字列を削除する
SELECT rtrim('ababccaab', 'ab') str;
+---------+
| str |
+---------+
| ababcca |
+---------+
  1. デフォルトでは ASCII の空白のみを削除する。RTRIM は、二つ目の引数を指定しない場合、タブ(\t)や改行(\n)を削除しません。削除前後の LENGTH を比較すると、末尾の ASCII 空白一文字だけが削除され、\t\n は残ります。
SELECT LENGTH('hello world  \t\n '), LENGTH(RTRIM('hello world  \t\n '));
+------------------------------+-------------------------------------+
| LENGTH('hello world \t\n ') | LENGTH(RTRIM('hello world \t\n ')) |
+------------------------------+-------------------------------------+
| 16 | 15 |
+------------------------------+-------------------------------------+
  1. UTF-8 文字のサポート
SELECT rtrim('ṭṛì ḍḍumai   ');
+---------------------------+
| rtrim('ṭṛì ḍḍumai ') |
+---------------------------+
| ṭṛì ḍḍumai |
+---------------------------+
  1. 末尾に一致する文字列がない場合、元の文字列を返す
SELECT rtrim('Hello World', 'xyz');
+---------------------------------+
| rtrim('Hello World', 'xyz') |
+---------------------------------+
| Hello World |
+---------------------------------+
  1. NULL 値の処理
SELECT rtrim(NULL), rtrim('Hello', NULL);
+-------------+------------------------+
| rtrim(NULL) | rtrim('Hello', NULL) |
+-------------+------------------------+
| NULL | NULL |
+-------------+------------------------+
  1. 空文字列の処理
SELECT rtrim(''), rtrim('abc', '');
+-----------+-------------------+
| rtrim('') | rtrim('abc', '') |
+-----------+-------------------+
| | abc |
+-----------+-------------------+
  1. 末尾で繰り返されるパターンを削除する
SELECT rtrim('abcabcabc', 'abc');
+-------------------------------+
| rtrim('abcabcabc', 'abc') |
+-------------------------------+
| |
+-------------------------------+
  1. 複数回出現しても、末尾に一致する文字列のみを削除する
SELECT rtrim('HelloHelloWorld', 'Hello');
+---------------------------------------+
| rtrim('HelloHelloWorld', 'Hello') |
+---------------------------------------+
| HelloHelloWorld |
+---------------------------------------+

キーワード​

RTRIM