算数运算符

运算符 作用
+ 加法
- 减法
* 乘法
/, DIV 除法,返回商
%, MOD 除法,返回余数
  • 在除法和取模运算中,如果除数为0,返回结果为null。
  • MOD(a,b)a%b效果一样。

    比较运算符

    MySQL允许用户在使用select语句时对左右操作数进行比较,结果为真范围1,假返回0,不确定返回null。
运算符 作用
= 等于
<>或!= 不等
<=> null安全的等于(null-safe)
< 小于
<= 小于等于
> 大于
/>= 大于等于
between 存在于指定的范围
in 存在于指定的集合
is null 为null
is not null 不为null
like 通配符匹配
regexp或rlike 正则表达式匹配
  • null不能用于等和不等比较

    1. select 1=2, 1=1, null=null, 1<>1, null<>null;
    2. +-----+-----+-----------+------+------------+
    3. | 1=2 | 1=1 | null=null | 1<>1 | null<>null |
    4. +-----+-----+-----------+------+------------+
    5. | 0 | 1 | NULL | 0 | NULL |
    6. +-----+-----+-----------+------+------------+
  • <=>与=类似,但可以用于null比较

    select null <=> null;
    +---------------+
    | null <=> null |
    +---------------+
    |             1 |
    +---------------+
    
  • between: 用法为a between min and max。当a大于等于min,小于等于max时为真。

  • in的用法为a in (value1,value2,value3)
  • like运算符使用格式为a like %123%

    逻辑运算符

运算符 作用
NOT或! 逻辑非
AND或&& 逻辑与
OR或|| 逻辑或
XOR 逻辑异或
  • not null的返回值为null
  • and中有任何一个操作数为null,结果都为null
  • OR,如果一个操作数为null,另一个为非0值,则结果为1,否则结果为null。若两个数都为null,结果为null
  • XOR,任意一个操作数为null,结果为null

    位运算符

运算符 作用
& 位与
| 位或
^ 位异或
~ 位取反
/>> 位右移
/<< 位左移

运算符的优先级

优先级顺序 运算符
1 :=
2 || OR XOR
3 && AND
4 NOT
5 BETWEEN CASE WHEN THEN ELSE
6 = <=> >= <= < <> != IS LIKE REGEXP IN
7 |
8 &
9 << >>
10 - +
11 * / DIV % MOD
12 ^
13 - ~
14 !