mysql的内置函数instr(filed,str),作用是返回str子字符串在filed字符串的第一次出现的位置,如果没有找到,则返回0。备注:位置是从1开始的。函数不区分大小写。当instr(filed,str)=0时,表示子符串str不存在于字符串filed中,因此可以用来实现mysql中的模糊查询,与like用法类似。如下:
1、instr()函数,#{name}为参数
select id,name from test where instr(name,#{name})>0
2、like
select id,name from test where name like concat('%',#{name},'%')
instr()详细用法如下:
instr(filed,str) > 0 ⇒ file like '%str%'
instr(filed,str) = 1 ⇒ file like 'str%'
instr(filed,str) = 0 ⇒ file not like '%str%'
INSTR()函数与LIKE运算符
在没有索引的情况下,INSTR()函数与LIKE运算符的速度是一样的;
在有索引的情况下,使用左匹配的LIKE运算符搜索,LIKE运算符速度会更快一些。
版权声明:本文为weixin_35790277原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。