日期:2014-05-18  浏览次数:20763 次

oracle instr问题
...
and instr(personcode,'33') > 0

查询对应personcode字段中含33的所有记录,
1.
我现在想使得'33'为该personcode字段的开头部分,该怎么写instr

2.
例:personcode : 38330021
'33'如果为第三个字符开始,第四个字符结束,又该如何写instr


------解决方案--------------------

------解决方案--------------------
1. instr(personcode,'33',1,1) =1 表示以33开头,从第一个位置开始找,找到1个匹配项
2.instr(personcode,'33',3,1)=3 表示从第三个位置开始找,找到1个匹配项,返回位置是3的。

------解决方案--------------------
INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
SQL> select instr( 'oracle traning ', 'ra ',1,2) instring from dual;