Snowflake中如何截断除法结果小数位数且不四舍五入?
解决Oracle中除法结果保留指定位小数且不四舍五入的问题
针对你需要保留6位小数且不进行四舍五入的需求,TRUNC函数是最直接的解决方案——它的作用就是截断数字,不会触发四舍五入逻辑。
具体用法
直接对除法运算的结果调用TRUNC函数,第二个参数指定要保留的小数位数即可:
SELECT TRUNC(a/b, 6) FROM your_table;
验证示例
用你提供的测试值验证:
SELECT TRUNC(0.020011991559, 6) FROM DUAL;
执行后会得到你期望的结果:
0.020011
为什么TO_NUMBER不符合需求?
你之前使用的TO_NUMBER(0.020011991559,28,6)属于数值格式化转换操作,该过程默认会执行四舍五入,因此才得到了0.020012,无法满足截断保留的要求。
内容的提问来源于stack exchange,提问作者curry_b
相关产品推荐
相关产品推荐

