我有一个带有 SET 字段的表,其中可以选择几个选项。我想选择至少设置了我指定的选项之一的所有行。
选项有:A、B、C 和 D
第 1 行:A,B
第 2 行:A,C
第 3 行:C
第 4 行:D
我指定A
and C
,所以返回的行应该是 1、2 和 3
有任何想法吗?
我有一个带有 SET 字段的表,其中可以选择几个选项。我想选择至少设置了我指定的选项之一的所有行。
选项有:A、B、C 和 D
第 1 行:A,B
第 2 行:A,C
第 3 行:C
第 4 行:D
我指定A
and C
,所以返回的行应该是 1、2 和 3
有任何想法吗?
你可以使用FIND_IN_SET
,你可以使用LIKE
:
使用FIND_IN_SET
,您将执行以下操作:
SELECT * FROM myTable WHERE FIND_IN_SET('A', set_column_name)>0;
在此处阅读有关 FIND_IN_SET 的更多信息。
使用上述内容进行现场演示。
和LIKE
SELECT * FROM myTable WHERE set_column_name LIKE '%A%';
这将在整个列中搜索指定的字母。
在此处阅读有关 LIKE 的更多信息。
使用上述内容进行现场演示。
您还可以set_column_name = 'A'
用于单个精确条目