0

我试图否定 jsonb 数据中的双精度值。我不得不把它加倍,因为 PG 会把它作为文本返回。我发现零值打印为 -0

可以吗?如何在没有“CASE WHEN”的情况下修复它

在此处输入图像描述

4

2 回答 2

2

如果将 0.0 添加到结果中,它会将其标准化为常规 0。

于 2020-08-09T12:15:46.467 回答
0

正如@Bergi 所问:问题是什么?0 和 -0 的性质完全相同。跑:

select '0 vs. -0. they are ' ||
       case when ( 0 = -0) 
            then 'Equal'
            else 'Not Equal'
       end;

另请参阅此处的演示。在所有情况下,结果都是相同的。乘法产生 -0 而不是 0,但由于它们相同,它们可以自由替换。

于 2020-08-09T20:05:19.373 回答