问答 查看内容
返回列表

直连数据库整数相除结果仍为整数的解决办法

240 1
发表于 2024-5-29 20:14:12 | 查看全部 阅读模式
整数相除结果仍为整数的解决办法

评论1

Guandata_8c28564c楼主Lv.1 发表于 2024-5-29 20:14:35 | 查看全部
Greenplum、PostgreSQL、Presto等多个数据库会出现,2个整数相除结果仍为整数,小数精度丢失的情况。

【解决方案】

1)方案1:数值直接乘以1.0。分子或者分母任一个乘以1.0即可以把整数转换为浮点数,但要注意,小数点后位数可能影响数据精度,小数点后位数最好按需确定。观远BI最多支持小数点后保留6位,所以即使乘以1.00000000000也只会保留前6位。

2)方案2:先把分子或者分母任一字段转换成double/float类型,然后再用round( )函数,或者cast(xxxxx as decimal())来指定小数点后保留位数。请使用数据库对应的函数。

? 方案2 示例

                               
登录/注册后可看大图

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2024 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表