你知道mysql的find_in_set()函数吗?播

发布于:2022-04-20 15:10:54

可是如果要实现的查询的条件是下面描述的这样,要怎么做呢。

先看表结构。

表结构很简单,再添加几条测试数据。

cbe986386b51cbd987173177848a08e8.jpeg

这样的存储结构有的朋友可能看见过,也用过。比如list_info这样的字段中存放一些表示类型范围,适用的场景等等类似的信息。

现在的查询的要求是:查询出list_info中逗号分隔的内容中包含3的数据。

期望是查询到id为1和4的数据,像逗号分隔后是33的不算符合条件。

这样的查询要求,要怎么实现呢?从本文的标题就可以看出来,肯定是要使用find_in_set()这个函数了。

那具体要怎么用呢,来展示一下吧。

5fb818e2f11ba3417394db8e5a29c49a.jpeg

想上图中的语句一样,find_in_set()函数的使用方法很简单。第一个参数表示要查找的值,第二个参数表示查找的范围,比如我们这里要在list_info这个字段中找。

不过这里需要注意的是,即便list_info有索引,这个sql也不会命中索引的。


阅读 499+

一片空白

父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌。