当分母大于分子时,Postgres给出的除法结果是错误的。
select 2/4给出0,select 4/2工作正确。
但是select 2/4实际上应该返回0.5,但它以整数形式返回0
发布于 2019-01-10 18:39:38
Postgres对整数进行整数除法。具有讽刺意味的是,它在avg()上不做整数平均值,但这是另一回事。
一种解决方案是简单地将其中一个值转换为numeric
select 2/4, 2::numeric/4Postgres将为数字添加小数位。
发布于 2019-01-10 16:48:12
尝试浮点除法,如:
select 2.0 / 4 -- shows 0.5或者:
select 1.0 * 2 / 4 -- shows 0.5https://stackoverflow.com/questions/54133028
复制相似问题