oracle中类似indexof用法_instr函数


 

[sql]

在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