如图,tidb在设置div_precision_increment ,除法计算仍然只保留了4为小数。而mysql8.0中可以按设置的数字,保留除法计算的小数位。
数据库版本为tidb v5.1.1.
set div_precision_increment = 10;
select 1/3;
【 Bug 的影响】
在sql中进行除法计算时,可能会导致最终计算结果有巨大的误差。
如果无法通过该参数进行精度设置,则需要找出每条执行了除法运算的sql,对参与了除法计算的数字,字段,或是通过函数、计算出的中间计算数字,进行cast操作。才能将除法的精度设置到我们想要的精度。工作量巨大。
【期望看到的行为】
在set div_precision_increment = X;后,除法计算按指定的数字,保留小数位。
【相关组件及具体版本】
tidb v5.1.1