#RTRIM
RTRIM函数从右往左删除expr表示的字符串里与trim_character匹配的内容,得到一个新的子字符串。分布式部署中不可使用本函数。
expr的值须为字符型,或可转换为字符型的其他类型,但不允许为NCLOB类型。
本函数返回值类型遵循如下规则:
- 当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