看标题比较绕口,但是我举一个例子你就清楚了
这是一个查询:我现在想要的是attr_val中含有黑色属性的行:
你用模糊匹配可以,用REGEXP也行,下面介绍一种mysql自带的函数:FIND_IN_SET。它的用法是:
FIND_IN_SET(search_value, string_list)
其中:search_value
是要查找的值,string_list
是逗号分隔的字符串列表。该函数返回找到的值在列表中的位置,如果找不到则返回0。
那我们就可以些这样一个sql来过滤出我们要查的所有行:
SELECT * FROM goods_attribute
WHERE FIND_IN_SET('黑色', attr_val) > 0;
怎么样,会了吗?