SQL查询选择精确的列?

时间:2017-10-02 19:11:11

标签: mysql sql

考虑这个SQL表

id | name | numbers
------------------------
1 | bob | 1 3 5
2 | joe | 7 2 15

此查询将整个表作为结果返回:

SELECT * FROM table WHERE numbers LIKE '%5%'

是否有SQL运算符,只返回第1行(只有数字为5的列)?

2 个答案:

答案 0 :(得分:3)

regexp与字边界一起使用。 (但你最好遵循戈登的评论)

where numbers REGEXP '[[:<:]]5[[:>:]]'

答案 1 :(得分:2)

很遗憾您没有在numbers列中使用逗号作为分隔符,因为可以使用FIND_IN_SET函数,但您可以将其与{{1}一起使用像这样:

REPLACE