第 19.1 节:算术运算符
MySQL 提供以下算术运算符:
| 运算符 | 名称 | 示例 |
|---|---|---|
+ |
加法 | SELECT 3+5; → 8SELECT 3.5+2.5; → 6.0SELECT 3.5+2; → 5.5 |
- |
减法 | SELECT 3-5; → -2 |
* |
乘法 | SELECT 3 * 5; → 15 |
/ |
除法 | SELECT 20 / 4; → 5SELECT 355 / 113; → 3.1416SELECT 10.0 / 0; → NULL |
DIV |
整数除法 | SELECT 5 DIV 2; → 2 |
% 或 MOD |
取模 | SELECT 7 % 3; → 1SELECT 15 MOD 4; → 3SELECT 15 MOD -4; → 3SELECT -15 MOD 4; → -3SELECT -15 MOD -4; → -3SELECT 3 MOD 2.5; → 0.5 |
BIGINT
如果算术运算中的所有数字都是整数,MySQL 使用 BIGINT(有符号 64 位)整数数据类型进行计算。例如:
SELECT (1024 * 1024 * 1024 * 1024 * 1024 * 1024) + 1;
-- 结果: 1152921504606846977
如果数字超出范围,可能会发生溢出。
DOUBLE
如果算术运算中有任何数字是小数,MySQL 使用 64 位 IEEE 754 浮点运算。使用浮点运算时要小心,因为许多浮点数本质上是近似值而非精确值。
第 19.2 节:数学常量
PI
返回 π 的值,格式化为 6 位小数。实际精度为 DOUBLE:
SELECT PI(); -- 3.141593
第 19.3 节:三角函数(SIN、COS 等)
角度以弧度为单位,而非度数。所有计算均使用 IEEE 754 64 位浮点数进行。所有浮点计算都会受到微小误差(称为机器 ε 误差)的影响,因此应避免试图比较它们的相等性。使用浮点数时无法避免这些误差,这是技术本身固有的。
如果在三角函数中使用 DECIMAL 值,它们会被隐式转换为浮点数,然后再转换回 DECIMAL。
正弦
返回以弧度表示的数值 X 的正弦值:
SELECT SIN(PI()); -- 1.2246063538224e-16 (实际上接近 0)
余弦
返回以弧度表示的 X 的余弦值:
SELECT COS(PI()); -- -1
正
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/stgduser/article/details/164208325




