postgreSQL 除法运算返回0

1. 场景

postgreSQL 除法运算返回0

2. 原因

postgreSQL 进行除法运算,应该使用round+numeric 类型,否则当计算结果小于1 时返回0,大于1 时只返回整数部分.

3. 解决办法

如实例:

select tp.*,tsn.shot_num,tsn.sensor_id,ts.binding_state
        ,(tp.lc_red_alert-tsn.shot_num::int) as gap
        ,round(cast((tp.lc_red_alert-tsn.shot_num::int) as numeric) /cast(tp.lc_red_alert as numeric) ,4) as residual_life_span
        from t_param as tp
        join t_sensor as ts  on tp.tooling_id=ts.tooling_id
        join t_shot_num as tsn on tsn.sensor_id=ts.sensor_id

参考:
https://blog.csdn.net/qq_35461048/article/details/108060877

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值