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