四则运算支持说明

最近更新时间:2026-06-30 16:45:32

我的收藏
只读分析实例支持大部分 MySQL 的四则运算逻辑,但在部分场景下仍存在限制和不兼容。本文介绍只读分析实例对四则运算的支持情况,并列出每个运算符对入参数据类型的支持范围。文档中未列出的入参类型与使用方式均不支持。

四则运算使用限制

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。