1

我需要在存储在表中的一组数值中找到包含特定数字的行。我正在使用WHERE IN()mysql 的功能,但我遇到了格式正确的问题。

基本上我有以下查询:

SELECT id,category, text
FROM ws_cat
WHERE '11' IN (category) 

类别字段是 a VARCHAR,如下所示:

id    category
1     11
2     12,11
3     1,13,9

所以在这种情况下,我需要找到 id 为 1 和 2 的行。不幸的是,它不起作用,我猜这是因为缺少引号,但是所有重新格式化QUOTES()或只是将格式更改为category类似的'12','11'想法也行不通。只要它有效,这两种方法对我来说都是可能的......

4

1 回答 1

1

使用FIND_IN_SET函数:

SELECT id, category, text
    FROM ws_cat
    WHERE FIND_IN_SET('11', category) <> 0;
于 2012-07-17T13:20:07.640 回答