に最終更新
RTRIM
説明
RTRIM 関数は、文字列の右側(末尾)から連続する空白または指定した文字列を削除します。二つ目の引数を指定しない場合は末尾の空白を削除し、指定した場合は右側から指定した文字列全体を削除します。
構文
RTRIM(<str>[, <rhs>])
引数
| 引数 | 説明 |
|---|---|
<str> | 処理対象の文字列。型: VARCHAR |
<rhs> | 省略可能な引数。末尾から削除する文字列。型: VARCHAR |
戻り値
VARCHAR 型の値を返します。
特殊なケース:
- いずれかの引数が NULL の場合、NULL を返します
- rhs を指定しない場合、末尾の空白を削除します
- rhs を指定した場合、rhs の文字列全体を削除します(一文字ずつ削除するわけではありません)
例
- 末尾の空白を削除する
SELECT rtrim('ab d ') str;
+------+
| str |
+------+
| ab d |
+------+
- 指定した末尾の文字列を削除する
SELECT rtrim('ababccaab', 'ab') str;
+---------+
| str |
+---------+
| ababcca |
+---------+
- デフォルトでは 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 |
+------------------------------+-------------------------------------+
- UTF-8 文字のサポート
SELECT rtrim('ṭṛì ḍḍumai ');
+---------------------------+
| rtrim('ṭṛì ḍḍumai ') |
+---------------------------+
| ṭṛì ḍḍumai |
+---------------------------+
- 末尾に一致する文字列がない場合、元の文字列を返す
SELECT rtrim('Hello World', 'xyz');
+---------------------------------+
| rtrim('Hello World', 'xyz') |
+---------------------------------+
| Hello World |
+---------------------------------+
- NULL 値の処理
SELECT rtrim(NULL), rtrim('Hello', NULL);
+-------------+------------------------+
| rtrim(NULL) | rtrim('Hello', NULL) |
+-------------+------------------------+
| NULL | NULL |
+-------------+------------------------+
- 空文字列の処理
SELECT rtrim(''), rtrim('abc', '');
+-----------+-------------------+
| rtrim('') | rtrim('abc', '') |
+-----------+-------------------+
| | abc |
+-----------+-------------------+
- 末尾で繰り返されるパターンを削除する
SELECT rtrim('abcabcabc', 'abc');
+-------------------------------+
| rtrim('abcabcabc', 'abc') |
+-------------------------------+
| |
+-------------------------------+
- 複数回出現しても、末尾に一致する文字列のみを削除する
SELECT rtrim('HelloHelloWorld', 'Hello');
+---------------------------------------+
| rtrim('HelloHelloWorld', 'Hello') |
+---------------------------------------+
| HelloHelloWorld |
+---------------------------------------+
キーワード
RTRIM