跳到主要内容

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 中的字符组成,返回空字符串

示例

  1. 去除右侧空格
SELECT RTRIM('ab d   ');
+-------------------+
| RTRIM('ab d ') |
+-------------------+
| ab d |
+-------------------+
  1. 去除指定字符
SELECT RTRIM('ababccaab', 'ab');
+----------------------------+
| RTRIM('ababccaab', 'ab') |
+----------------------------+
| ababcca |
+----------------------------+
  1. 多种空白字符处理
SELECT RTRIM('hello world  \t\n ');
+-----------------------------+
| RTRIM('hello world \t\n ') |
+-----------------------------+
| hello world
|
+-----------------------------+
  1. NULL 值处理
SELECT RTRIM(NULL), RTRIM('test', NULL);
+-------------+---------------------+
| RTRIM(NULL) | RTRIM('test', NULL) |
+-------------+---------------------+
| NULL | NULL |
+-------------+---------------------+
  1. 空字符串处理
SELECT RTRIM(''), RTRIM('test', '');
+------------+-----------------------+
| RTRIM('') | RTRIM('test', '') |
+------------+-----------------------+
| | test |
+------------+-----------------------+
  1. 多字符修剪集合
SELECT RTRIM('abcdefg', 'efg'), RTRIM('123456', '56');
+-------------------------+------------------------+
| RTRIM('abcdefg', 'efg') | RTRIM('123456', '56') |
+-------------------------+------------------------+
| abcd | 1234 |
+-------------------------+------------------------+
  1. 整个字符串都需修剪
SELECT RTRIM('aaaaa', 'a'), RTRIM('   ', ' ');
+---------------------+-------------------+
| RTRIM('aaaaa', 'a') | RTRIM(' ', ' ') |
+---------------------+-------------------+
| | |
+---------------------+-------------------+
  1. UTF-8 字符处理
SELECT RTRIM('test ṭṛìṭṛì', 'ṭṛì'), RTRIM('hello ḍḍuḍḍ', 'ḍ');
+--------------------------------------------+-------------------------------------+
| RTRIM('test ṭṛìṭṛì', 'ṭṛì') | RTRIM('hello ḍḍuḍḍ', 'ḍ') |
+--------------------------------------------+-------------------------------------+
| test | hello ḍḍu |
+--------------------------------------------+-------------------------------------+
  1. 数字字符修剪
SELECT RTRIM('123000', '0'), RTRIM('123abc123', '123');
+-----------------------+-----------------------------+
| RTRIM('123000', '0') | RTRIM('123abc123', '123') |
+-----------------------+-----------------------------+
| 123 | 123abc |
+-----------------------+-----------------------------+
  1. 特殊符号修剪
SELECT RTRIM('---text---', '-'), RTRIM('@@hello@@', '@');
+---------------------------+----------------------------+
| RTRIM('---text---', '-') | RTRIM('@@hello@@', '@') |
+---------------------------+----------------------------+
| ---text | @@hello |
+---------------------------+----------------------------+