样本表和记录如下: sample
如何选择那些记录只包含“2”(“23”,“22”......不计算)??? as,预期结果集是{1,2,3}
答案 0 :(得分:1)
首先,您的数据格式非常糟糕。您将数字列表存储在单个字段中。以下是为什么这是一个坏主意的一些原因:
因此,您的数据结构是坏的,坏的,坏的,坏的,坏主意。您需要了解联结表以及在关系数据库中存储列表的正确方法。
那就是说,有时我们会被其他人的糟糕设计决定所困扰。如果是这种情况,您可以使用find_in_set()
,一个特定于MySQL的函数:
where find_in_set(2, field) > 0
答案 1 :(得分:0)
您可以使用REGEX创建自己的查询,以下代码取自mysql官方文档:
SELECT * FROM table WHERE field REGEXP '^2$';