首页 > MySQL教程 > MySQL约束、函数和运算符
MySQL算术运算符
算术运算符是 SQL 中最基本的运算符,MySQL 支持的运算符包括加、减、乘、除和取余运算,它们是最常用、最简单的一类运算符。下表列出了这些运算符的作用和使用方法。
创建 temp 表语法如下:
对于取余运算,还可以使用 MOD(a,b) 函数,MOD(a,b) 相当于 a%b,运行结果如下:
在除法运算和取余运算中,除数为 0 的运行结果如下所示:
运算符 | 作用 | 使用方法 |
---|---|---|
+ | 加法运算 | 用于获得一个或多个值的和 |
- | 减法运算 | 用于从一个值中减去另一个值 |
* | 乘法运算 | 使数字相乘,得到两个或多个值的乘积 |
/ | 除法运算,返回商 | 用一个值除以另一个值得到商 |
%,MOD | 求余运算,返回余数 | 用一个值除以另一个值得到余数 |
示例 1
创建表 temp,定义数据类型为 INT 的字段 num,并插入值 64,对 num 值进行算术运算。创建 temp 表语法如下:
CREATE TABLE temp(num INT);
向字段 num 插入数据 64,语法如下。INSERT INTO temp VALUE (64);
对 num 的值进行加法和减法运算:mysql> SELECT num,num+10,num-3+5,num+36.5 FROM temp; +------+--------+---------+----------+ | num | num+10 | num-3+5 | num+36.5 | +------+--------+---------+----------+ | 64 | 74 | 66 | 100.5 | +------+--------+---------+----------+ 1 row in set (0.01 sec)上面计算是对 temp 表中的 num 字段的值进行加法和减法的运算,而且由于
+
和-
的优先级相同,因此先加后减或者先减后加之后的结果是相同的。
示例 2
下面对 temp 表中的 num 进行乘法、除法运算,运行结果如下:mysql> SELECT num,num*2,num/2,num/3,num%3 FROM temp; +------+-------+---------+---------+-------+ | num | num*2 | num/2 | num/3 | num%3 | +------+-------+---------+---------+-------+ | 64 | 128 | 32.0000 | 21.3333 | 1 | +------+-------+---------+---------+-------+ 1 row in set (0.00 sec)由上面计算结果可以看出,对 num 进行除法运算时,由于 64 无法被 3 整除,因此 MySQL 对 num/3 求商的结果保存到了小数点后面四位,结果为 21.3333;64 除以 3 的余数为 1,因此取余运算 num%3 的结果为 1。
对于取余运算,还可以使用 MOD(a,b) 函数,MOD(a,b) 相当于 a%b,运行结果如下:
mysql> SELECT MOD (num,3) FROM temp; +-------------+ | MOD (num,3) | +-------------+ | 1 | +-------------+ 1 row in set (0.00 sec)
示例 3
数学运算中,除数为 0 的除法是没有意义的。所以在除法运算和取余运算中,如果除数为 0,那么返回结果为 NULL.在除法运算和取余运算中,除数为 0 的运行结果如下所示:
mysql> SELECT num,num/0,num%0 FROM temp; +------+-------+-------+ | num | num/0 | num%0 | +------+-------+-------+ | 64 | NULL | NULL | +------+-------+-------+ 1 row in set (0.00 sec)从上面运行结果可以看到,对 num 进行除法求商或者求余运算的结果均为 NULL。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算