算术运算符是 SQL 中最基本的运算符,MySQL 支持的运算符包括加、减、乘、除和取余运算,它们是最常用、最简单的一类运算符。下表列出了这些运算符的作用和使用方法。

MySQL中的算术运算符

运算符作用使用方法

+

加法运算

用于获得一个或多个值的和

-

减法运算

用于从一个值中减去另一个值

*

乘法运算

使数字相乘,得到两个或多个值的乘积

/

除法运算,返回商

用一个值除以另一个值得到商

%,MOD

求余运算,返回余数

用一个值除以另一个值得到余数

示例 1

创建表 temp,定义数据类型为 INT 的字段 num,并插入值 64,对 num 值进行算术运算。

创建 temp 表语法如下:

mysql> create table if not exists temp

->(-> num int

->);

Query OK,0 rows affected (0.45 sec)

向字段 num 插入数据 64,语法如下。

mysql> insert into temp values (64);

Query OK,1 row affected (0.14 sec)

对 num 的值进行加法和减法运算:

MySQL加减乘除函数 mysql乘除法_mysql加减

上面计算是对 temp 表中的 num 字段的值进行加法和减法的运算,而且由于+和-的优先级相同,因此先加后减或者先减后加之后的结果是相同的。

示例 2

下面对 temp 表中的 num 进行乘法、除法运算,运行结果如下:

MySQL加减乘除函数 mysql乘除法_运算符_02

由上面计算结果可以看出,对 num 进行除法运算时,由于 64 无法被 3 整除,因此 MySQL 对 num/3 求商的结果保存到了小数点后面四位,结果为 21.3333;64 除以 3 的余数为 1,因此取余运算 num%3 的结果为 1。

对于取余运算,还可以使用 MOD(a,b) 函数,MOD(a,b) 相当于 a%b,运行结果如下:

MySQL加减乘除函数 mysql乘除法_MySQL_03

示例 3

数学运算中,除数为 0 的除法是没有意义的。所以在除法运算和取余运算中,如果除数为 0,那么返回结果为 NULL.

在除法运算和取余运算中,除数为 0 的运行结果如下所示:

MySQL加减乘除函数 mysql乘除法_MySQL_04

从上面运行结果可以看到,对 num 进行除法求商或者求余运算的结果均为 NULL。