MySQL匹配字符串函数

注意: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

你可能感兴趣的:(数据库,mysql)