Mysql sql将匹配字符串中的数字
我有一个表,其中一个字段中有一个以逗号分隔的ID列表(不是我自己做的)。我想知道我是否可以使用LIKE来匹配这个字符串中的数字?问题是我不想得到类似的数字。有没有办法匹配两边都没有数字字符的数字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
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'[[::]]所在的表中选择*;