sql 进行模糊查询时,可使用内部函数 instr,替代传统的 like 方式,并且速度更快。
1)instr()函数的格式 (俗称:字符查找函数)
格式一:instr( string1, string2 ) / instr(源字符串, 目标字符串)
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) / instr(源字符串, 目标字符串, 起始位置, 匹配序号)
解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(几)次出现string2。
注:在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,也就是说从字符的开始到字符的结尾就结束。
instr(field, str) 函数,第一个参数 field 是字段,第二个参数 str 是要查询的串,返回串 str 的位置,没找到就是0
select * from book where INSTR( book_name , "经" ) > 0
当作一个过滤条件
select instr(book_name, '水') from book
返回 ‘水’ 在各个 book_name 中的位置,没有则返回0
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190925093228556.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY2ODI5OQ==,size_16,color_FFFFFF,t_70)