本篇文章小编给大家分享一下MySQL函数Locate代码使用解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如
Locate(str,sub) > 0,表示sub字符串包含str字符串;
Locate(str,sub) = 0,表示sub字符串不包含str字符串。
该函数常常与 组件一起使用,该组件作用是防止字符串进行转义。比如:
select * from stu s where 0]]>
mysql的instr函数有着相似的功能,instr(str,sub)返回的是字符串sub在字符串str第一次出现的位置,其中instr(str,sub) = 0 表示字符串str不包含字符串sub。
因此,locate,instr,like都可以用来实现模糊查询,如下三条sql实现的功能是一样的。
select * from stu s where s.name like concat('%',#{name},'%') ; select * from stu s where instr(s.name,#{name}) > 0; select * from stu s where locate(#{name},s.name) > 0;
示例
SELECT * FROM party_course_study WHERE LOCATE(findCode, '00001') >0 // 注:Mybatis使用场景,需要加 SELECT * FROM party_course_study WHERE 0 ]]>
功能类似的函数(不做详细介绍)
LOCATE(substr,str) ,
LOCATE(substr,str,pos)
POSITION(substr IN str)
INSTR(str,substr)