我有一个包含一列double数据类型的表。我想通过比较double值来选择行。如果double列中不存在确切的值,我想获取包含double值的行,这些行是相等或最接近/近似的。
select *
from tablename
where DoubleColumnName equal/approx "some double value"
答案 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"