注意:MySQL索引从1开始
1、like
select * from 表名 where 字段名 like "%字符%";
2、locate(字符,字段)
如果包含,返回>0的数(字符所在的第一个索引),否则返回0
-- select * from 表名 where LOCATE('字符', 字段);
select LOCATE('ab', 'abcd');
> 1
3、position(字符 in 字段)
如果包含,返回>0的数(字符所在的第一个索引),否则返回0
-- select * from 表名 where POSITION('字符' IN 字段);
select POSITION('ab' IN 'abcd');
> 1
4、instr(字段,字符)
如果包含,返回>0的数(字符所在的第一个索引),否则返回0
注意:字段在前,要匹配的字符串在后
-- select * from 表名 where INSTR(字段, '字符');
select INSTR('abcd', 'b');
> 2
5、find_in_set(字符,字段)
如果包含,返回>0的数(字符所在的第一个索引),否则返回0
字段以","分割开,常用于字段为数组的情况。
-- select * from 表名 where FIND_IN_SET('字符', 字段);
select FIND_IN_SET('张三','aa,bb,11,张三');
> 4
select FIND_IN_SET('','aa,bb,11,张三,');
> 5