我有几个逗号分隔的数字列表。我需要将特定行与 sql 查询匹配。我想为此构建正确的正则表达式,我需要您的帮助。
我的行示例,以逗号分隔的数字列表:
- 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,]$'
提前感谢!
使用FIND_IN_SET函数:
SELECT id FROM my_list WHERE FIND_IN_SET('8', id_list) AND FIND_IN_SET('44', id_list)
试试这个:
SELECT id FROM my_list WHERE CONCAT(",",id_list,",") REGEXP ',8,|,44,'