MySQL函数Locate的使用详解 Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如 Locate(str,sub) 0,表示sub字符串包含str字符串: Locate(str,sub) = 0,表示sub字符串不包含str字符串. 该函数常常与![CDATA[]] 组件一起使用,该组件作用是防止字符串进行
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)
到此这篇关于MySQL函数Locate的使用详解的文章就介绍到这了,更多相关MySQL Locate函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:MySQL函数Locate的使用详解
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- SQLSERVER调用C#的代码实现 2023-07-29
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- redis清除数据 2023-09-13
- 搭建单机Redis缓存服务的实现 2023-07-13
- Oracle 删除大量表记录操作分析总结 2023-07-23
- 基于Python制作一个简单的文章搜索工具 2023-07-28