#RTRIM
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
Copied!