网络编程
位置:首页>> 网络编程>> 数据库>> MySQL函数Locate的使用详解

MySQL函数Locate的使用详解

作者:今夜无风亦无雨  发布时间:2024-01-17 22:59:41 

标签:MySQL,Locate函数

Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如

  • Locate(str,sub) > 0,表示sub字符串包含str字符串;

  • Locate(str,sub) = 0,表示sub字符串不包含str字符串。

该函数常常与<![CDATA[]]> 组件一起使用,该组件作用是防止字符串进行转义。比如:

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实现的功能是一样的。

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使用场景,需要加 <![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)

来源:https://blog.csdn.net/hello_world_9664/article/details/124159818

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com