如何在mysql中实现double数据类型的相等/近似条件?

时间:2013-09-27 11:40:42

标签: mysql database

我有一个包含一列double数据类型的表。我想通过比较double值来选择行。如果double列中不存在确切的值,我想获取包含double值的行,这些行是相等或最接近/近似的。

select * 
from tablename 
where DoubleColumnName equal/approx "some double value"

3 个答案:

答案 0 :(得分:3)

您可以使用

实现这一目标
SELECT * FROM tablename WHERE ABS(DoubleColumnName-$value)<1E-13

此处1E-13表示精确增量(您可以调整原因),$ value是搜索值

答案 1 :(得分:1)

您的近似限制是多少?假设您对+/- 0.5的误差范围感到满意,可以尝试这样的事情:

select * from table where (double_value_from_database - SOME_DOUBLE_VALUE) < 0.5

答案 2 :(得分:0)

使用BETWEEN关键字

SELECT * FROM tablename 
WHERE 
   DoubleColumnName BETWEEN "lowerBound" AND "UpperBound"