に最終更新
RTRIM_IN
説明
RTRIM_IN 関数は、文字列の右端から指定した文字を削除します。文字集合を指定しない場合は、デフォルトで末尾の空白を削除します。文字集合を指定した場合は、集合内での順序に関係なく、その集合に含まれる文字を右端からすべて削除します。
RTRIM_IN の特徴は、指定した集合に含まれる文字を任意の組み合わせで削除することです。一方、RTRIM 関数は文字列の完全一致に基づいて文字を削除します。
構文
RTRIM_IN(<str>[, <rhs>])
パラメータ
| パラメータ | 説明 |
|---|---|
<str> | 処理対象の文字列。型: VARCHAR |
<rhs> | 省略可能。削除する文字の集合。型: VARCHAR |
戻り値
処理後の文字列を VARCHAR 型で返します。
特殊なケース:
- str が NULL の場合は NULL を返します
- rhs を指定しない場合は、末尾の空白をすべて削除します
- rhs を指定した場合は、rhs に含まれない文字に最初に到達するまで、rhs に含まれる文字を右端からすべて削除します
例
- 末尾の空白を削除する
SELECT rtrim_in('ab d ') str;
+------+
| str |
+------+
| ab d |
+------+
- 指定した文字集合を削除する
SELECT rtrim_in('ababccaab', 'ab') str;
+---------+
| str |
+---------+
| ababcc |
+---------+
- RTRIM 関数との比較
SELECT rtrim_in('ababccaab', 'ab'), rtrim('ababccaab', 'ab');
+-----------------------------+--------------------------+
| rtrim_in('ababccaab', 'ab') | rtrim('ababccaab', 'ab') |
+-----------------------------+--------------------------+
| ababcc | ababcca |
+-----------------------------+--------------------------+
- 文字集合の順序は結果に影響しない
SELECT rtrim_in('Helloabc', 'cba');
+-----------------------------+
| rtrim_in('Helloabc', 'cba') |
+-----------------------------+
| Hello |
+-----------------------------+
- UTF-8 文字への対応
SELECT rtrim_in('ṭṛì ḍḍumai+++', '+');
+------------------------------------+
| rtrim_in('ṭṛì ḍḍumai+++', '+') |
+------------------------------------+
| ṭṛì ḍḍumai |
+------------------------------------+
- NULL 値の処理
SELECT rtrim_in(NULL, 'abc');
+------------------------+
| rtrim_in(NULL, 'abc') |
+------------------------+
| NULL |
+------------------------+
- 空文字列の処理
SELECT rtrim_in('', 'abc'), rtrim_in('abc', '');
+---------------------+---------------------+
| rtrim_in('', 'abc') | rtrim_in('abc', '') |
+---------------------+---------------------+
| | abc |
+---------------------+---------------------+
キーワード
RTRIM_IN, RTRIM