我有一个包含一列双数据类型的表。我想通过与双精度值进行比较来选择行。如果双列中不存在精确值,我想获取包含相等或最接近/近似的双值的行。
select *
from tablename
where DoubleColumnName equal/approx "some double value"
你可以用
SELECT * FROM tablename WHERE ABS(DoubleColumnName-$value)<1E-13
这里的1E-13
意思是精度增量(你可以调整它,原因)和 $value 是搜索值
你的近似极限是多少。假设您对 +/- 0.5 的误差范围感到满意,您可以尝试以下操作:
select * from table where (double_value_from_database - SOME_DOUBLE_VALUE) < 0.5
使用BETWEEN关键字
SELECT * FROM tablename
WHERE
DoubleColumnName BETWEEN "lowerBound" AND "UpperBound"