Teradata:除法和大数小数位

问题描述 投票:0回答:2

我正在尝试将两个十进制(15,2)数字相除并返回15位的高精度十进制,但是在超过10个小数位的任何地方,我都会不断出现[2616]数字溢出错误,还有另一种写方法这可以使句点右边的小数点后位数达到15位?

选择(cast(19983.74为十进制(15,2))* 1.0000000000000)/(cast(15897.40为十进制(15,2))* 1.0000000000000)

decimal overflow teradata division divide
2个回答
0
投票

请参见Teradata Documentation。结果精度的默认值取决于MaxDecimal设置,但大于MaxDecimal设置的CAST将被覆盖。


0
投票

对于更复杂的计算,我更喜欢将第一个操作数强制转换为NUMBER,这将导致最大可能的精度:

© www.soinside.com 2019 - 2024. All rights reserved.