RTRIM
描述
RTRIM 函数用于去除字符串右侧(结尾部分)连续出现的空格或指定字符集合中的字符。该函数从字符串的右端开始扫描,移除所有连续出现的目标字符,直到遇到不在目标字符集合中的字符为止。
语法
RTRIM(<str> [, <trim_chars>])
参数
| 参数 | 说明 |
|---|---|
<str> | 需要进行右侧修剪的源字符串。类型:VARCHAR |
<trim_chars> | 可选参数,指定要移除的字符集合。如果未提供此参数,默认去除空格字符。类型:VARCHAR |
返回值
返回 VARCHAR 类型,表示右侧去除指定字符后的字符串。
修剪规则:
- 只从字符串右侧(结尾)开始移除字符
- 移除所有连续出现在 trim_chars 中的字符
- 一旦遇到不在 trim_chars 中的字符就停止移除
- 如果未指定 trim_chars,默认移除空格字符,不包括制表符、换行符等空白字符
特殊情况:
- 如果任意参数为 NULL,返回 NULL
- 如果 str 为空字符串,返回空字符串
- 如果 trim_chars 为空字符串,返回原字符串
- 如果整个字符串都由 trim_chars 中的字符组成,返回空字符串
示例
- 去除右侧空格
SELECT RTRIM('ab d ');
+-------------------+
| RTRIM('ab d ') |
+-------------------+
| ab d |
+-------------------+
- 去除指定字符
SELECT RTRIM('ababccaab', 'ab');
+----------------------------+
| RTRIM('ababccaab', 'ab') |
+----------------------------+
| ababcca |
+----------------------------+
- 多种空白字符处理
SELECT RTRIM('hello world \t\n ');
+-----------------------------+
| RTRIM('hello world \t\n ') |
+-----------------------------+
| hello world
|
+-----------------------------+
- NULL 值处理
SELECT RTRIM(NULL), RTRIM('test', NULL);
+-------------+---------------------+
| RTRIM(NULL) | RTRIM('test', NULL) |
+-------------+---------------------+
| NULL | NULL |
+-------------+---------------------+
- 空字符串处理
SELECT RTRIM(''), RTRIM('test', '');
+------------+-----------------------+
| RTRIM('') | RTRIM('test', '') |
+------------+-----------------------+
| | test |
+------------+-----------------------+
- 多字符修剪集合
SELECT RTRIM('abcdefg', 'efg'), RTRIM('123456', '56');
+-------------------------+------------------------+
| RTRIM('abcdefg', 'efg') | RTRIM('123456', '56') |
+-------------------------+------------------------+
| abcd | 1234 |
+-------------------------+------------------------+
- 整个字符串都需修剪
SELECT RTRIM('aaaaa', 'a'), RTRIM(' ', ' ');
+---------------------+-------------------+
| RTRIM('aaaaa', 'a') | RTRIM(' ', ' ') |
+---------------------+-------------------+
| | |
+---------------------+-------------------+
- UTF-8 字符处理
SELECT RTRIM('test ṭṛìṭṛì', 'ṭṛì'), RTRIM('hello ḍḍuḍḍ', 'ḍ');
+--------------------------------------------+-------------------------------------+
| RTRIM('test ṭṛìṭṛì', 'ṭṛì') | RTRIM('hello ḍḍuḍḍ', 'ḍ') |
+--------------------------------------------+-------------------------------------+
| test | hello ḍḍu |
+--------------------------------------------+-------------------------------------+
- 数字字符修剪
SELECT RTRIM('123000', '0'), RTRIM('123abc123', '123');
+-----------------------+-----------------------------+
| RTRIM('123000', '0') | RTRIM('123abc123', '123') |
+-----------------------+-----------------------------+
| 123 | 123abc |
+-----------------------+-----------------------------+
- 特殊符号修剪
SELECT RTRIM('---text---', '-'), RTRIM('@@hello@@', '@');
+---------------------------+----------------------------+
| RTRIM('---text---', '-') | RTRIM('@@hello@@', '@') |
+---------------------------+----------------------------+
| ---text | @@hello |
+---------------------------+----------------------------+