Oracle RTRIM函数详解

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' 集合中。