我试图否定 jsonb 数据中的双精度值。我不得不把它加倍,因为 PG 会把它作为文本返回。我发现零值打印为 -0
可以吗?如何在没有“CASE WHEN”的情况下修复它
如果将 0.0 添加到结果中,它会将其标准化为常规 0。
正如@Bergi 所问:问题是什么?0 和 -0 的性质完全相同。跑:
select '0 vs. -0. they are ' ||
case when ( 0 = -0)
then 'Equal'
else 'Not Equal'
end;
另请参阅此处的演示。在所有情况下,结果都是相同的。乘法产生 -0 而不是 0,但由于它们相同,它们可以自由替换。