今天做一个模糊查询,一开始使用的是like,但是发现对于特殊字符操作难以处理,查询特殊字符查不到,后来听同事告诉这个函数,天秀
语法 一:
LOCATE(substr,str)
返回字符串substr中第一次出现子字符串的位置 str。
语法二:
LOCATE(substr,str,pos)
返回字符串substr中第一个出现子 字符串的 str位置,从位置开始 pos。0 如果substr不在,则 返回str。返回 NULL如果substr 或者str是NULL。
简单例子:
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
mysql> SELECT LOCATE('bar', 'foobarbar', 5);
-> 7
eg:
select * from users where locate('@',emails) > 0;
十分好用,可以做个记录