PostgreSQL数学运算 [英] PostgreSQL math operations

查看:110
本文介绍了PostgreSQL数学运算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的查询

选择回合((bca_total_lean /(bca_total_meta + bca_total_fat))* 100,0)作为x的lean_mass_percent ...

结果,对于 bca_total_lean / bca_total_fat <​​/ code>结果,我看到0。还可以通过bca_total_meta为0。

as result, I see 0. for bca_total_lean/bca_total_fat result is ok. By bca_total_meta is 0.

所有字段都是整数,并且所有结果都大于0。PHP中此数据中的相同操作返回83。
我也尝试过没有舍入功能。相同的结果。
BD返回的单独数据

All fields are integers and all results are greater than 0. The same operation in this data in PHP returns 83. I also tried without a round function. The same result. Separated data return by BD


  • 元:77391

  • 脂肪:11892

  • lean:74362

任何提示哪里有错误?

推荐答案

整数除法会截断小数位。您的表达式返回0到1之间的比率,该比率始终被截断为0。

Integer division truncates fractional digits. Your expression returns a ratio between 0 and 1, which is always truncated to 0.

要获取百分比,请先乘以100。

To get "percentage", first multiply by 100.

select round((bca_total_lean*100)/(bca_total_meta + bca_total_fat),0) as lean_mass_percent from x where...

这篇关于PostgreSQL数学运算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆