INSTR(C1,C2[,I[,J]])
在一个字符串中搜索指定的字符,返回发现指定的字符的位置。注意:多字节符(汉字、全角符等),按1个字符计算
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为 1
J 第J次出现的位置,默认为 1
数值
(1)使用 instr 函数从“oracle traning”字符串位置 1 开始搜索子字符串“ra”第二次出现的位置,如下:
SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING ---------- 9
由运行结果可知,“ra”第二次出现的位置为 9。
(2)使用 instr 和 instrb 函数搜索字符串“某”出现的位置,如下:
SQL> select instr('成都某软件公司','某',1,1), instrb('成都某软件公司','某',1,1) instring from dual; INSTR('成都某软件公司','某',1,1) INSTRING -------------------------------- ---------- 3 5
由运行结果可知,instr 将多字节字符汉字当做一个字符计算,因此第一个“某”返回位置为 3。而 instrb 函数将多字节字符按照字节进行计算。