ORACLE11g RTRIM函数的问题

select rtrim('test  '),rtrim('test*ffs','fs*') from dual;的意思怎么个删除----从右边轮番匹配每个字符,直到不符合为止!

以下是OCP教材中对该函数的描述
RTRIM(<c1>,<c2> ) takes two arguments, where c1 and c2 are character strings. This function returns c1 
without any trailing characters that appear in c2. If no c2 characters are 
trailing characters in c1, then c1 is returned unchanged. c2 defaults to a single space.
 
大家对Rtrim舍去字符串右边的空字符串是毫无疑议的
有疑问的应该是右边是字符串如何处理的。
如:
SELECT 
RTRIM('Mississippi','ip') test1,RTRIM('Rpadded ') test2 ,RTRIM('Mississippi','sip') test3 FROM dual;
结果为:
test1 test3 test3
Mississ Rpadded M
 
test1的实现
首先从字符串'Mississippi'右边查找'ip'中的任意字符,此例为'i','p',直到'Mississippi'右边不为'i'和'p'字符为止,所以结果应该是Mississ
 
test2的实现
去掉字符串的空格
 
test3的实现
实现方法同test1首先从字符串'Mississippi'右边查找'sip'中的任意字符,此例为's','i','p',直到'Mississippi'右边不为's'、'i'和'p'字符为止,所以结果应该是M
 
可以通过下例进一步了解Rtrim函数
 
SELECT 
RTRIM('Mississippi','Misp') test1,RTRIM('Mississippi','i') test2 FROM dual;
test1 test2
         Mississipp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值