MySQL函数Locate的使用详解
吾爱主题
阅读:173
2024-04-01 23:21:15
评论:0
Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如
- Locate(str,sub) > 0,表示sub字符串包含str字符串;
- Locate(str,sub) = 0,表示sub字符串不包含str字符串。
该函数常常与<![CDATA[]]> 组件一起使用,该组件作用是防止字符串进行转义。比如:
?1 | select * from stu s where <![CDATA[Locate(#{ name },s. name )>0]]> |
mysql的instr函数有着相似的功能,instr(str,sub)返回的是字符串sub在字符串str第一次出现的位置,其中instr(str,sub) = 0 表示字符串str不包含字符串sub。
因此,locate,instr,like都可以用来实现模糊查询,如下三条sql实现的功能是一样的。
?1 2 3 | 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; |
示例
?1 2 3 4 5 6 7 8 | SELECT * FROM party_course_study WHERE LOCATE(findCode, '00001' ) >0 // 注:Mybatis使用场景,需要加 <![CDATA[ ]]> SELECT * FROM party_course_study WHERE <![CDATA[ LOCATE(findCode, '00001' ) > 0 ]]> |
功能类似的函数(不做详细介绍)
- LOCATE(substr,str) ,
- LOCATE(substr,str,pos)
- POSITION(substr IN str)
- INSTR(str,substr)
到此这篇关于MySQL函数Locate的使用详解的文章就介绍到这了,更多相关MySQL Locate函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/hello_world_9664/article/details/124159818
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。