Mysql 模糊匹配(字符串str中是否包含子字符串substr)
1、LIKE 通常与 % 一同使用,类似于一个元字符的搜索。若substr不在str中,则返回0。
SELECT 'test' LIKE '%e%' as `ret`; # 1 SELECT 'test' LIKE '%a%' as `ret`; # 0
2、INSTR(str,substr) 返回字符串 str 中子字符串的第一次出现位置。若substr不在str中,则返回0。
SELECT INSTR('test', 't'); # 1 SELECT INSTR('test', 'a'); # 0
3、LOCATE(substr,str) 返回字符串 str中子字符串substr的第一次出现位置。若substr不在str中,则返回0。
LOCATE(substr,str,pos) 返回字符串 str中子字符串substr的第 pos位置后第一次出现位置。若substr不在str中,则返回0。
SELECT LOCATE('t','test'); # 1 SELECT LOCATE('a','test'); # 0 SELECT LOCATE('t','test',2); # 4
4、POSITION(substr IN str) 返回字符串 str中子字符串substr的第一次出现位置。若substr不在str中,则返回0。可看作LOCATE(substr,str)别名
SELECT POSITION('t' IN 'test'); # 1 SELECT POSITION('a' IN 'test'); # 0