语法 一:
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
使用案例:
现在有一张user表,如下:
id | user_name | emails |
---|---|---|
1 | 小张 | a@fujieace.com,b@fujieace.com,c@fujieace.com |
2 | 小王 | aa@fujieace.com,bb@fujieace.com,cc@fujieace.com |
3 | 李四 | aa@fujieace.com,b@fujieace.com,d@fujieace.com |
4 | 王五 | aa@fujieace.com,e@fujieace.com,f@fujieace.com |
思考:
我们如何用sql查找所有“emails”字段中有“aa@fujieace.com”的用户?
答案:
select * from users where locate('aa@email.com',emails);