ORACLE 的 instr ()函数

在oracle中没有indexof()函数  

但是提供了一个 instr() 方法 具体用法:  
select instr('保定市南市区','市',1,1)-1 from dual;  
解释:1. '保定市南市区' =>可以是表达式,也可以是具体数据  
          2. '市'=>为分离的标志,这里为两组数据中的“市”这个字  
          3. 第一个1为从左边开始,如果为-1,则从右边开始。  
          4. 第二个1为“市”出现的第几次。  
    www.2cto.com  
在GBK编码下,一个中文占两个字节  
select instr('保定市南市区','市',1,1) from dual;的值就是5  
select instr('保定市南市区','市',1,2) from dual;的值就是9  
  
select instr('保定市南市区','市',-1,1) from dual;的值就是9  
select instr('保定市南市区','市',-1,2) from dual;的值就是5  


===================================================================

列mta里含有","号,而且在一个值里出现指定次数的。


select * from 表 b where instr(b.mta,',',1,2)>0 and instr(b.mta,',',1,3)=0  出现2次的
select * from 表 b where instr(b.mta,',',1,3)>0 and instr(b.mta,',',1,4)=0 出现3次的
select * from 表 b where instr(b.mta,',',1,4)>0 and instr(b.mta,',',1,5)=0 出现4此的



评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值