LOCATE函数其实我的理解就是grep的功能,只不过它会返回在字符串所在
的位置,当然根据公式的不同也会有很多实际应用
官方的两种用法是
语法1:
LOCATE(substr,str)
返回字符串substr中第一次出现子字符串的位置 str
语法2:
LOCATE(substr,str,pos)
返回字符串substr中第一个出现子 字符串的 str位置,从位置开始 pos。0 如果substr不在,则 返回str。返回 NULL如果substr 或者str是NULL
最简单的用法
select locate ('y','zyc') 这个y在第二个位置,他就会返回2

稍微加一些参数比如select locate ('y','zyc')> 0,这个意思就很好理解字符y在zyc中存在则返回1,不存在则返回0(>0的条件)
这个用法稍加变形就可以用到一些实际的例子中,比如判断哪个字符串在表中的哪个字段是否存在,如果存在则返回该字段信息

select locate ('u','zyc')> 0;

判断哪个字符串在表中的哪个字段是否存在,如果存在则返回数据
SELECT
aa.*
FROM
zyc.iccid aa
WHERE
aa.id= '51107085'
AND locate ('FIS', concat(aa.createdBy))>0;


本文详细介绍了MySQL中的LOCATE函数,将其比喻为grep功能,主要探讨了其两种基本用法。通过实例展示了如何利用LOCATE进行字符串查找,以及在SQL查询中判断字段是否存在。此外,还分享了如何将此函数应用于实际场景,如判断特定字符串是否存在于数据库表的字段中,并返回相关信息。
217

被折叠的 条评论
为什么被折叠?



