Oracle RTRIM 函数详解
概述
RTRIM 是 Oracle 中的一个字符串函数,用于从字符串的右侧(末尾)移除指定的字符。它常用于格式化查询输出,清理数据中多余的后缀字符。
语法
sql
RTRIM(char [, set])
参数说明
| 参数 | 说明 |
|---|---|
| char | 要处理的字符串表达式。可以是 CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB 或 NCLOB 类型。如果是字符字面量,必须用单引号括起来。 |
| set | 可选参数 ,指定要从右侧移除的字符集合。如果省略,则默认移除空格(单个空白字符)。 |
返回值
- 如果 char 是字符类型,返回 VARCHAR2
- 如果 char 是国家字符类型(NCHAR/NVARCHAR2),返回 NVARCHAR2
- 如果 char 是 LOB 类型,返回相应的 LOB 类型
工作原理
RTRIM 从字符串的右侧开始,逐个检查字符是否出现在 set 参数中:
- 如果是,则移除该字符,继续检查下一个
- 如果否,则停止移除,返回剩余字符串
⚠️ 注意:RTRIM 移除的是字符集合中的任意字符,而不是移除整个单词或子串。
使用示例
示例 1:默认移除右侧空格
sql
SELECT RTRIM('Hello World ') AS result FROM DUAL;
结果 :'Hello World'(右侧空格被移除)
示例 2:移除指定字符
移除字符串右侧的所有 x 和 y 字符:
sql
SELECT RTRIM('BROWNINGyxXxy', 'xy') AS result FROM DUAL;
结果 :'BROWNINGyxX'
解析:从右侧开始,y 被移除,x 被移除,但遇到 X(大写)时停止,因为 X 不在 'xy' 集合中。