LOCATE()字符串查找函数
场景
<if test="condition != null and condition!='' ">
AND (
LOCATE(#{condition},op.name)>0
OR LOCATE(#{condition},op.mobile)>0
OR LOCATE(#{condition},od.actual_pas_nam)>0
OR LOCATE(#{condition},od.actual_pas_mob)>0
OR LOCATE(#{condition},d.name)>0
OR LOCATE(#{condition},d.mobile)>0
OR LOCATE(#{condition},op.employee_no)>0
)
LOCATE(substr,str) , LOCATE(substr,str,pos)
第一个语法返回字符串 str中子字符串substr的第一个出现位置。第二个语法返回字符串 str中子字符串substr的第一个出现位置, 起始位置在pos。如若substr 不在str中,则返回值为0。
位置下标从1开始 ,不区分大小写
- SELECT LOCATE(‘llo’, ‘hellollo’); 结果–> 3
- SELECT LOCATE(‘lLo’, ‘hellollo’); 结果–> 3
- SELECT LOCATE(‘aaa’, ‘hellollo’); 结果–> 0
- SELECT LOCATE(‘llo’, ‘hellollo’,4); 结果–> 6
这个函数支持多字节字元,并且只有当至少有一个参数是二进制字符串时区分大小写。