mysql以","分隔的精确匹配方法

2026-01-14 13:01:24

1、使用语法:

select * form table where FIND_IN_SET(str,strlist)。

mysql以

2、举个例子,首先建一个简单的新闻表。

mysql以

3、录入以下数据。

mysql以

4、现在我们想要获取type为2这种类型的新闻。如果用like的话不好实现。因为12,2里都包含了2.

这里我们得用find_in_set来查找:

语句:

select * from t_news where FIND_IN_SET(2,type);

看结果肺施眠,我们就可以看出很容易就找到了对应的记录。

mysql以

5、如果用like的话,会找到错误的记录(我们不想要的记录)。可见这里的find_in_set还是很有用的。

mysql以

6、find_in_set(str1,str2)还可以查找到str1所在篇蹲str2中位置。

同样适用上面的例子数据。

sql语句:

select FIND_IN_SET(2,type) from t_news

mysql以

7、还可以适用find_in_set来强制排序。

我们修改一下新闻表数据。

如图:

mysql以

8、现在捧亲我们有一个需求,需要根据type为2,1,3这种顺序排序。

sql语句:

select * from t_news order by find_in_set(type,'2,1,3');

结果:

mysql以

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢