# **算数运算符概述**

| 名称 | 描述|
|---|-----|
| [%,MOD](mod.md) | 取余 |
| [*](multiplication.md) | 乘法 |
| [+](addition.md) | 加法 |
| [-](minus.md) | 减法 |
| [-](unary-minus.md) | 负号 |
| [/](division.md) | 除法 |
| [DIV](div.md) | 整数相除 |

— 对于 `-`、`+` 和 `*`，如果两个运算数值都是整数，计算结果将以 BIGINT (64 位) 精度计算。

— 如果两个运算数值都是整数且其中任何一个都是无符号的，则结果为无符号整数。

— 如果 `+`、`-`、`/`、`*`、`%` 中的任何一个运算数值是一个实值或字符串值，则结果的精度为运算数的最大精度。

在使用 `/` 进行除法时，当使用两个精确值运算数时，结果的精度范围是第一个运算数值的精度范围加上 `div_precision_increment` 系统变量的值。例如，表达式 5.05 / 0.014 的结果有一个小数 8 位的精度 (360.71428571)。

<!--上面这一段需要检视-->

这些规则适用于每个操作，例如嵌套计算取每个组件的精度。因此，(14620 / 9432456)/(24250 / 9432456) 首先解析为 (0.0014)/(0.0026)，最终结果有 16 位小数 (0.6028865979381443)。

## **限制**

- 算数运算符只适用于数字之间的计算。
- 确保各个组件和子组件的计算的精度标准，参见[强制转换函数和运算符概述](../cast-functions-and-operators/cast-functions-and-operators-overview.md)。
