postgresql 查询double 类型的数据,查不到

img

这个是查询到的结果

img

但是 用sql 语句,查询

SELECT *
FROM TS_KV_DAY
WHERE DBL_YB__V = -115.884754

查询到的结果是空

img

并不是所有的值都查不到,比如-92.8669955 ,就可以查到,

SELECT *
FROM TS_KV_DAY
WHERE DBL_YB__V = -92.8669955

img


请问如何解决?

如果学过浮点数的原理,就应该知道浮点数不能这样直接判断等于的。

SELECT *
FROM TS_KV_DAY
WHERE round(cast (DBL_YB__V as numeric),6) = -115.884754

double precision精度可变,设置一下精度应该能匹配到