使用类似于mysql中的字符串搜索数字

时间:2013-04-16 11:36:24

标签: mysql sql

田间价值 - 29,21,30,28,32,35,49,50,137

SELECT *
FROM `smartspace_pickups`
WHERE `cat_id` LIKE '%37%'    
LIMIT 0 , 30 

我有一个字段,其中id以逗号分隔,现在我尝试使用上面的查询获取数据,但它给了我ID为137和371的值。我只想要字符串中id为37的值。

3 个答案:

答案 0 :(得分:2)

SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37',`cat_id`)
LIMIT 0 , 30 

答案 1 :(得分:2)

您可以使用FIND_IN_SET(str,strlist)

SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37', `cat_id`)  > 0
LIMIT 0 , 30

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set

答案 2 :(得分:0)

像这样制作你的ids字段(在开头和结尾添加逗号)

,29,21,30,28,32,35,49,50,137,

并将您的查询更改为

LIKE '%,37,%'