我在表中有一个字段,数据类型为“set”,因此它可以接受多个值。但是当我检索匹配值的结果时,我当时卡住了。
示例字段
"menuPosition" : set('top','left','right','bottom')
示例查询
SELECT * FROM mytable where menuPosition='top'
此查询仅返回仅top
作为其值的行,不返回具有多个值top,left
的行。如何检索所有这些记录?
由于我的上述查询仅比较了一个值,因此如何编写查询以匹配多个值,例如where menuPosition='top' && 'bottom'
答案 0 :(得分:1)
您可以使用FIND_IN_SET
之类的:
SELECT * FROM mytable WHERE FIND_IN_SET('top', menuPosition)
或者您可以使用LIKE
:
SELECT * FROM mytable WHERE menuPosition LIKE '%top%'
我猜第一个更快。