+
80
-

mysql中FIND_IN_SET和like有什么区别?

请问mysql中FIND_IN_SET和like有什么区别?

网友回复

+
0
-

假设有个article文章表,里面有个tags标签字段,里面有一条tags记录为php,javascript

我们先用FIND_IN_SET,find_in_set是精确匹配,用法find_in_set(str,strlist),其中str为查找的值,而strlist为查找对象值,该对象值必须以英文逗号”,”分隔,下面sql,查找出tags字段中包含字符java的文章

select * from  article where find_in_set('java',tags);

查询的结果肯定是空

而like是模糊匹配,查找tag字段中包含java字符的文章:

select * from  article where tags like '%java%';

查询的结果有一条记录

这就是like与find_in_set区别,一个精确,一个模糊,而且like由于是全文查找,性能上没有find_in_set快。

我知道答案,我要回答