PostgreSQL 10.1不正确的除法输出

时间:2019-01-10 16:29:31

标签: sql postgresql integer-division

当分母大于分子时,Postgres给出的除法结果错误。

select 2/4给出0,select 4/2正常工作。

但是select 2/4实际上应该返回0.5 但它返回0作为整数

2 个答案:

答案 0 :(得分:0)

尝试进行浮点除法,如下所示:

select 2.0 / 4 -- shows 0.5

或者:

select 1.0 * 2 / 4 -- shows 0.5

答案 1 :(得分:0)

Postgres对整数进行整数除法。具有讽刺意味的是,它不对y = 4进行整数平均,但这是另一回事。

一种解决方案是将值之一转换为avg()

numeric

Postgres将为数字添加小数位。