sql搜索,如果值来自单个列范围,如30到100,或者值只能是35

时间:2016-02-29 12:10:34

标签: mysql sql

这就是表格的样子

id  value 
1    9
2    10 
3    10.5 
4    11
5    11.5
6    12 to 30
7    30 to 60

在where where condition如果我通过10它将返回id 2
现在的问题是,如果我通过20,那我怎么得到身份6
我怎样才能在mysql中实现这一点? 提前谢谢你

1 个答案:

答案 0 :(得分:1)

我建议使用SUBSTRING_INDEX:

SELECT id
FROM YourTable
WHERE value = YourNumber
      OR (YourNumber between SUBSTRING_INDEX(value,'to',1)
                    and SUBSTRING_INDEX(value,'to',-1))

OR部分会将之前的数字返回,然后返回之后,并检查数字是否在它们之间