instr()函数,字符查找函数:
语法:instr( string1, string2 ) / instr(源字符串, 目标字符串)
instr( string1, string2 [, start_position [, nth_appearance ] ] ) / instr(源字符串, 目标字符串, 起始位置, 匹配序号)
解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(几)次出现string2。
两种扩展用法:
1.替换IN()函数,充当where子句的条件:
在程序中拼sql时,如果in()函数的参数为一个字符串,由逗号隔开,会有问题。
instr( string1, string2 ) >0 相当于 string2 IN(string1)。此处string1为'aaa','bbb','ccc'的形式
2.替换模糊查询 LIKE
instr( string1, string2 ) >0 相当于 string1 LIKE '%string2%'
注:在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,也就是说从字符的开始到字符的结尾就结束。