标签: hive apache-spark-sql decimal
我一直在研究Hive SQL,其中包含几个长的十进制数相乘。这样做时,Hive将尝试保留所有小数位,这会在执行计划中变成某些值类型,如Decimal(38,38),并导致NULL值,因为我的值实际上大于1。方法比多次转换这些数字更好?我现在正在这样使用SQL:
SELECT CAST(a * CAST(b * c AS DECIMAL(30, 8)) AS DECIMAL(30, 8));