功能REGEXP带有一个数字列表

时间:2014-04-04 09:23:19

标签: mysql sql regex

我有几个以逗号分隔的数字列表。我需要匹配特定的行与SQL查询。我想为此构建正确的RegExp,我需要你的帮助。

我的行示例以逗号分隔的数字列表:

  • 1,8,33,44
  • 1,8,44
  • 1,8,22,33
  • 8,22,44
  • 1,88,44
  • 1,22,44,66

我需要匹配仅包含数字8和44的行

我的sql查询如下所示:

SELECT id FROM my_list WHERE id_list REGEXP '^[0-9,]8,[0-9,]44[0-9,]$'

提前致谢!

2 个答案:

答案 0 :(得分:1)

使用 FIND_IN_SET 功能:

SELECT id FROM my_list WHERE FIND_IN_SET('8', id_list) AND FIND_IN_SET('44', id_list)

答案 1 :(得分:0)

试试这个:

SELECT id FROM my_list WHERE CONCAT(",",id_list,",") REGEXP ',8,|,44,'