要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符:
算术运算符
比较运算符
逻辑运算符
位运算符
算术运算符
MySQL 支持的算术运算符包括:
在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。 1、加 mysql> select 1+2; +-----+ | 1+2 | +-----+ | 3 | +-----+ 2、减 mysql> select 1-2; +-----+ | 1-2 | +-----+ | -1 | +-----+ 3、乘 mysql> select 2*3; +-----+ | 2*3 | +-----+ | 6 | +-----+ 4、除 mysql> select 2/3; +--------+ | 2/3 | +--------+ | 0.6667 | +--------+ 5、商 mysql> select 10 DIV 4; +----------+ | 10 DIV 4 | +----------+ | 2 | +----------+ MySQL 教程 MySQL 教程 MySQL 安装 MySQL 管理 MySQL PHP 语法 MySQL 连接 MySQL 创建数据库 MySQL 删除数据库 MySQL 选择数据库 MySQL 数据类型 MySQL 创建数据表 MySQL 删除数据表 MySQL 插入数据 MySQL 查询数据 MySQL WHERE 子句 MySQL UPDATE 更新 MySQL DELETE 语句 MySQL LIKE 子句 MySQL UNION MySQL 排序 MySQL 分组 MySQL 连接的使用 MySQL NULL 值处理 MySQL 正则表达式 MySQL 事务 MySQL ALTER命令 MySQL 索引 MySQL 临时表 MySQL 复制表 MySQL 元数据 MySQL 序列使用 MySQL 处理重复数据 MySQL 及 SQL 注入 MySQL 导出数据 MySQL 导入数据 MySQL 函数 MySQL 运算符 MySQL 函数 MySQL 运算符 本章节我们主要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 运算符 作用 + 加法 - 减法 * 乘法 / 或 DIV 除法 % 或 MOD 取余 在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。 1、加 mysql> select 1+2; +-----+ | 1+2 | +-----+ | 3 | +-----+ 2、减 mysql> select 1-2; +-----+ | 1-2 | +-----+ | -1 | +-----+ 3、乘 mysql> select 2*3; +-----+ | 2*3 | +-----+ | 6 | +-----+ 4、除 mysql> select 2/3; +--------+ | 2/3 | +--------+ | 0.6667 | +--------+ 5、商 mysql> select 10 DIV 4; +----------+ | 10 DIV 4 | +----------+ | 2 | +----------+ 6、取余 mysql> select 10 MOD 4; +----------+ | 10 MOD 4 | +----------+ | 2 | +----------+
比较运算符 SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
1、等于 mysql> select 2=3; +-----+ | 2=3 | +-----+ | 0 | +-----+ mysql> select NULL = NULL; +-------------+ | NULL = NULL | +-------------+ | NULL | +-------------+ 2、不等于 mysql> select 2<>3; +------+ | 2<>3 | +------+ | 1 | +------+ 3、安全等于 与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。 mysql> select 2<=>3; +-------+ | 2<=>3 | +-------+ | 0 | +-------+ mysql> select null=null; +-----------+ | null=null | +-----------+ | NULL | +-----------+ mysql> select null<=>null; +-------------+ | null<=>null | +-------------+ | 1 | +-------------+ 4、小于 mysql> select 2<3; +-----+ | 2<3 | +-----+ | 1 | +-----+ 5、小于等于 mysql> select 2<=3; +------+ | 2<=3 | +------+ | 1 | +------+ 6、大于 mysql> select 2>3; +-----+ | 2>3 | +-----+ | 0 | +-----+ 7、大于等于 mysql> select 2>=3; +------+ | 2>=3 | +------+ | 0 | +------+ 8、BETWEEN mysql> select 5 between 1 and 10; +--------------------+ | 5 between 1 and 10 | +--------------------+ | 1 | +--------------------+ 9、IN mysql> select 5 in (1,2,3,4,5); +------------------+ | 5 in (1,2,3,4,5) | +------------------+ | 1 | +------------------+ 10、NOT IN mysql> select 5 not in (1,2,3,4,5); +----------------------+ | 5 not in (1,2,3,4,5) | +----------------------+ | 0 | +----------------------+ 11、IS NULL mysql> select null is NULL; +--------------+ | null is NULL | +--------------+ | 1 | +--------------+ mysql> select ‘a‘ is NULL; +-------------+ | ‘a‘ is NULL | +-------------+ | 0 | 12、IS NOT NULL mysql> select null IS NOT NULL; +------------------+ | null IS NOT NULL | +------------------+ | 0 | +------------------+ mysql> select ‘a‘ IS NOT NULL; +-----------------+ | ‘a‘ IS NOT NULL | +-----------------+ | 1 | +-----------------+ 13、LIKE mysql> select ‘12345‘ like ‘12%‘; +--------------------+ | ‘12345‘ like ‘12%‘ | +--------------------+ | 1 | +--------------------+ mysql> select ‘12345‘ like ‘12_‘; +--------------------+ | ‘12345‘ like ‘12_‘ | +--------------------+ | 0 | +--------------------+ 14、REGEXP mysql> select ‘beijing‘ REGEXP ‘jing‘; +-------------------------+ | ‘beijing‘ REGEXP ‘jing‘ | +-------------------------+ | 1 | +-------------------------+ mysql> select ‘beijing‘ REGEXP ‘xi‘; +-----------------------+ | ‘beijing‘ REGEXP ‘xi‘ | +-----------------------+ | 0 | +-----------------------+
逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。
1、与 mysql> select 2 and 0; +---------+ | 2 and 0 | +---------+ | 0 | +---------+ mysql> select 2 and 1; +---------+ | 2 and 1 | +---------+ | 1 | +---------+
2、或 mysql> select 2 or 0; +--------+ | 2 or 0 | +--------+ | 1 | +--------+ mysql> select 2 or 1; +--------+ | 2 or 1 | +--------+ | 1 | +--------+ mysql> select 0 or 0; +--------+ | 0 or 0 | +--------+ | 0 | +--------+ mysql> select 1 || 0; +--------+ | 1 || 0 | +--------+ | 1 | +--------+
3、非 mysql> select not 1; +-------+ | not 1 | +-------+ | 0 | +-------+ mysql> select !0; +----+ | !0 | +----+ | 1 | +----+
4、异或 mysql> select 1 xor 1; +---------+ | 1 xor 1 | +---------+ | 0 | +---------+ mysql> select 0 xor 0; +---------+ | 0 xor 0 | +---------+ | 0 | +---------+ mysql> select 1 xor 0; +---------+ | 1 xor 0 | +---------+ | 1 | +---------+ mysql> select null or 1; +-----------+ | null or 1 | +-----------+ | 1 | +-----------+ mysql> select 1 ^ 0; +-------+ | 1 ^ 0 | +-------+ | 1 | +-------+
位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。
1、按位与 mysql> select 3&5; +-----+ | 3&5 | +-----+ | 1 | +-----+ 2、按位或 mysql> select 3|5; +-----+ | 3|5 | +-----+ | 7 | +-----+ 3、按位异或 mysql> select 3^5; +-----+ | 3^5 | +-----+ | 6 | +-----+ 4、按位取反 mysql> select ~18446744073709551612; +-----------------------+ | ~18446744073709551612 | +-----------------------+ | 3 | +-----------------------+ 5、按位右移 mysql> select 3>>1; +------+ | 3>>1 | +------+ | 1 | +------+ 6、按位左移 mysql> select 3<<1; +------+ | 3<<1 | +------+ | 6 | +------+
原文:https://www.cnblogs.com/tszr/p/12116251.html