2011-03-17 156 views
2

我有一個表中有一個逗號分隔的ID列表在其中一個字段(不是我)。我想知道是否可以使用LIKE匹配此字符串中的數字?問題是我不想得到相似的數字。有沒有一種方法來匹配任何一方沒有數字字符的數字?SQL來匹配字符串中的數字

SELECT * FROM table WHERE activitiesids LIKE 6 

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

回答

2

沒有測試過,但你可以嘗試這樣的事情:

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

我喜歡這個。 :) – Cogicero 2011-05-11 14:15:22

2

類似的東西:

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

PostgreSQL的甚至有模式匹配 - 我不知道MySQL的信息:

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