跳到主要内容

RTRIM_IN

描述

RTRIM_IN 函数用于移除字符串右侧的指定字符。当不指定移除字符集合时,默认移除右侧的空格;当指定字符集合时,将移除右侧出现的所有指定字符(不考虑字符集合顺序)。 RTRIM_IN 的特点是会移除指定字符集合中的任意字符组合,而 RTRIM 函数则是按照完整的字符串匹配进行移除。

语法

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

参数

参数说明
<str>需要处理的字符串。类型:VARCHAR
<rhs>可选参数,要移除的字符集合。类型:VARCHAR

返回值

返回 VARCHAR 类型,表示处理后的字符串。

特殊情况:

  • 如果 str 为 NULL,返回 NULL
  • 如果不指定 rhs,移除右侧所有空格
  • 如果指定 rhs,移除右侧出现在 rhs 中的所有字符,直到遇到第一个不在 rhs 中的字符

示例

  1. 移除右侧空格
SELECT rtrim_in('ab d   ') str;
+------+
| str |
+------+
| ab d |
+------+
  1. 移除指定字符集合
SELECT rtrim_in('ababccaab', 'ab') str;
+---------+
| str |
+---------+
| ababcc |
+---------+
  1. 与 RTRIM 函数的对比
SELECT rtrim_in('ababccaab', 'ab'), rtrim('ababccaab', 'ab');
+-----------------------------+--------------------------+
| rtrim_in('ababccaab', 'ab') | rtrim('ababccaab', 'ab') |
+-----------------------------+--------------------------+
| ababcc | ababcca |
+-----------------------------+--------------------------+
  1. 字符集合顺序无关
SELECT rtrim_in('Helloabc', 'cba');
+-----------------------------+
| rtrim_in('Helloabc', 'cba') |
+-----------------------------+
| Hello |
+-----------------------------+
  1. UTF-8 特殊字符支持
SELECT rtrim_in('ṭṛì ḍḍumai+++', '+');
+------------------------------------+
| rtrim_in('ṭṛì ḍḍumai+++', '+') |
+------------------------------------+
| ṭṛì ḍḍumai |
+------------------------------------+
  1. NULL 值处理
SELECT rtrim_in(NULL, 'abc');
+------------------------+
| rtrim_in(NULL, 'abc') |
+------------------------+
| NULL |
+------------------------+
  1. 空字符处理
SELECT rtrim_in('', 'abc'),rtrim_in('abc', '');
+---------------------+---------------------+
| rtrim_in('', 'abc') | rtrim_in('abc', '') |
+---------------------+---------------------+
| | abc |
+---------------------+---------------------+

Keywords

RTRIM_IN,RTRIM