【问题标题】:Find comma separated value in a column by using comma separated list [duplicate]使用逗号分隔列表在列中查找逗号分隔值[重复]
【发布时间】:2019-02-13 11:45:32
【问题描述】:

我有一列 item_id_list 用逗号分隔 ID,例如:

我可以使用FIND_IN_SET() 搜索它们,例如:

SELECT * FROM task_detail WHERE FIND_IN_SET('21', item_id_list)

但我需要检查行中是否确实存在多个 ID,但添加另一个 ID 进行搜索将无法按照文档中的说明进行。

https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_find-in-set

如果第一个参数包含一个 逗号 (,) 字符。

SELECT * FROM task_detail WHERE FIND_IN_SET('21, 79', item_id_list)

在不改变我的表结构的情况下,我该如何解决这个问题?现在通过 id 的数量循环 FIND_IN_SET() 是解决方案。

【问题讨论】:

    标签: mysql sql mysql-5.7 find-in-set


    【解决方案1】:

    你可以在 find_in_set 中使用 OR

        SELECT * FROM task_detail 
        WHERE FIND_IN_SET('21', item_id_list)
        OR  FIND_IN_SET('79', item_id_list)
    

    【讨论】:

      猜你喜欢
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2017-07-04
      • 2015-08-24
      相关资源
      最近更新 更多