Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL匹配字符串函数

MySQL如何匹配字符串函数

作者:暗生琴愫

MySQL提供多个字符串匹配函数,如like、locate、position、instr和find_in_set,其中locate、position、instr和find_in_set均返回字符在字段中的索引(如果包含),否则返回0,特别地,find_in_set适用于字段为数组的情况

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文