运行以下代码时
select 5259.56::FLOAT8=(1800.12::FLOAT8+3459.44::FLOAT8)
输出为false,但是当我运行
select 5259.55::FLOAT8=(1800.11::FLOAT8+3459.44::FLOAT8)
输出为true。任何可能的解释将不胜感激。
答案 0 :(得分:0)
这是由浮点运算引起的。 (检查注释中提供的链接@a_horse_with_no_name)
要修复它,如果确实需要它,请执行以下操作:键入numeric
可以进行精确的计算。 float
不是。
https://www.postgresql.org/docs/current/static/datatype-numeric.html