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 |
+---------------------+---------------------+
Keywords
RTRIM_IN,RTRIM