#RTRIM

rtrim
RTRIM ( expr , trim_character )

RTRIM函数从右往左删除expr表示的字符串里与trim_character匹配的内容,得到一个新的子字符串。

expr的值须为字符型,或可转换为字符型的其他类型,但不允许为NCLOB类型。

对于列存表中的LOB类型字段,若某行数据为行外存储,则无法使用本函数。

本函数返回值类型遵循如下规则:

  • 当expr为CLOB类型时,返回CLOB数据类型字符串。
  • 当expr为NCHAR或NVARCHAR时,返回NVARCHAR数据类型字符串。
  • 当expr的值为NULL时,函数返回NULL。
  • 其余情况均返回varchar类型字符串。

trim_character

指定要匹配的内容,须为字符型,或可转换为字符型的其他类型。

trim_character为与expr相同的通用表达式,当trim_character的值为NULL时,函数返回NULL。

指定此值时,函数将从右往左对比expr与trim_character中的字符,当expr中的字符在trim_character中则将其删除,直到遇到从右往左的第一个不在trim_character中的字符后停止。

不指定此值时,默认的匹配内容为一个空格。

示例

--从右开始的3个'3'均能在'33'中找到,因此被删除,直到遇到'1'不能在'33'中找到,停止匹配并返回剩余字符串
SELECT RTRIM('33311333','33') res FROM DUAL;
RES       
--------- 
33311     
 
--从右开始的所有字符均能在'313'中找到,全部被删除,返回空字符串
SELECT RTRIM('33311333','313') res FROM DUAL;
RES       
--------- 
 
 
--只有一个参数时按空格执行匹配删除
SELECT RTRIM('       11333         ') res FROM DUAL;
RES           
------------- 
       11333         
pdf-btn 下载文档
copy-btn 复制链接