我需要在一组存储在表中的数值中找到包含特定数字的行。我正在使用mysql的WHERE IN()
函数,但我遇到了正确格式的问题。
基本上我有以下查询:
SELECT id,category, text
FROM ws_cat
WHERE '11' IN (category)
类别字段为VARCHAR
,如下所示:
id category
1 11
2 12,11
3 1,13,9
所以我需要在这种情况下找到id为1和2的行。不幸的是它不起作用,我猜它是因为缺少引号,但是使用QUOTES()
重新格式化或只是将category
的格式更改为'12','11'
之类的所有想法都不会也没工作。只要它有效,两者都可能对我有用......
答案 0 :(得分:1)
使用FIND_IN_SET功能:
SELECT id, category, text
FROM ws_cat
WHERE FIND_IN_SET('11', category) <> 0;