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 示例
|