sql匹配字符串中的数字

时间:2011-03-17 04:28:04

标签: mysql sql sql-like

我有一个表,其中一个字段中有一个以逗号分隔的id列表(不是我在做)。我想知道我是否可以使用LIKE匹配此字符串中的数字?问题是我不想得到类似的数字。有没有办法匹配任何一方都没有数字字符的数字?

SELECT * FROM table WHERE activitiesids LIKE 6

   | activitiesids |
---+---------------+---
   |   3,16,8,6    |
---+---------------+---
   |       6       |
---+---------------+---
   |      7,560    |
---+---------------+---

2 个答案:

答案 0 :(得分:3)

尚未测试但您可以尝试这样的事情:

SELECT * FROM table WHERE activitiesids REGEXP '[[:<:]][0-9]+[[:>:]]';

答案 1 :(得分:2)

类似的东西:

WHERE ids LIKE '%,16,%' OR ids LIKE '%,16' OR ids LIKE '16,%';

Postgresql甚至有模式匹配 - 我不知道mysql:

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