Mysql sql将匹配字符串中的数字

Mysql sql将匹配字符串中的数字,mysql,sql,sql-like,Mysql,Sql,Sql Like,我有一个表,其中一个字段中有一个以逗号分隔的ID列表(不是我自己做的)。我想知道我是否可以使用LIKE来匹配这个字符串中的数字?问题是我不想得到类似的数字。有没有办法匹配两边都没有数字字符的数字 SELECT * FROM table WHERE activitiesids LIKE 6 | activitiesids | ---+---------------+--- | 3,16,8,6 | ---+---------------+--- | 6

我有一个表,其中一个字段中有一个以逗号分隔的ID列表(不是我自己做的)。我想知道我是否可以使用LIKE来匹配这个字符串中的数字?问题是我不想得到类似的数字。有没有办法匹配两边都没有数字字符的数字

SELECT * FROM table WHERE activitiesids LIKE 6

   | activitiesids |
---+---------------+---
   |   3,16,8,6    |
---+---------------+---
   |       6       |
---+---------------+---
   |      7,560    |
---+---------------+---
诸如此类:

WHERE ids LIKE '%,16,%' OR ids LIKE '%,16' OR ids LIKE '16,%';
Postgresql甚至有模式匹配——我不知道mysql:

WHERE ids ~ '^(.*,)?16(,.*)?$'; 

尚未测试,但您可以尝试以下方法:

SELECT * FROM table WHERE activitiesids REGEXP '[[:<:]][0-9]+[[:>:]]';
从activitiesids REGEXP'[[::]]所在的表中选择*;