一、四则运算使用限制
·Decimal 类型的除法运算:结果的小数位数会基于被除数的小数位数加4进行截断。例如 Decimal(9, 1) / Decimal(9, 1),结果的小数位数会基于5 进行截断。
·Decimal 的加、减、乘、除运算:若结果的总长度超过65,则会报错提示 "out of range"。因为在只读分析实例中,Decimal 支持的最大数据长度为65。
·任意数字类型与浮点类型(float、double)进行数学运算:均会存在精度误差问题,核心原因是 float、double 等浮点类型本身就不具备严格精度。在 MySQL 实践中也不建议将数字类型与浮点类型进行数学计算。
·非数值类型的四则运算:涉及隐式类型转换,受限于只读分析实例对 CAST 的支持情况。在某些场景下,如果 CAST 不支持,相关四则运算也不支持。详细的 CAST 支持情况,请参见 类型转换函数支持说明。
二、+ 加运算符
语法:op1 + op2
·op1支持的数据类型:int、bigint、float、double、decimal。
·op2支持的数据类型:int、bigint、float、double、decimal。
三、- 减运算符
语法:op1 – op2
·op1支持的数据类型:int、bigint、float、double、decimal。
·op2支持的数据类型:int、bigint、float、double、decimal。
四、* 乘运算符
语法:op1 * op2
·op1支持的数据类型:int、bigint、float、double、decimal。
·op2支持的数据类型:int、bigint、float、double、decimal。
五、/ 除运算符
语法:op1 / op2
·op1支持的数据类型:int、bigint、float、double、decimal。
·op2支持的数据类型:int、bigint、float、double、decimal。
六、% 取余运算符
语法:op1 % op2
·op1支持的数据类型:int、bigint、float、double、decimal。
·op2支持的数据类型:int、bigint、float、double、decimal。