算术运算符

  • 加(+)
  • 减(-)
  • 乘(*)
  • 除(/)
  • 模运算(%)

    比较运算符

  • 等于(=)

  • 不等于(<>, !=)
  • NULL安全的等于(<=>),”<=>”运算符和”=”类似,在操作数相等时为1,不同之处在于即使操作的值为NULL,可以正确比较。

    1. mysql> select 1 <=> 1, 1 <=> 2, NULL <=> NULL;
    2. +---------+---------+---------------+
    3. | 1 <=> 1 | 1 <=> 2 | NULL <=> NULL |
    4. +---------+---------+---------------+
    5. | 1 | 0 | 1 |
    6. +---------+---------+---------------+
  • 小于(<)

  • 小于等于(<=)
  • 大于(>)
  • 大于等于(>=)
  • 存在于指定范围(BETWEEN)
  • 存在于指定集合(IN)
  • 为NULL(IS NULL)

    LIKE运算符

    REGEXP运算符

  • 使用格式为“str REGEXP str_pat”,当str字符串中含有str_pat相匹配的字符串时,则返回值为1,否则返回0。 ``` mysql> select ‘abc’ regexp ‘a’; +—————————+ | ‘abc’ regexp ‘a’ | +—————————+ | 1 | +—————————+ 1 row in set (0.02 sec)

mysql> select ‘abc’ regexp ‘d’; +—————————+ | ‘abc’ regexp ‘d’ | +—————————+ | 0 | +—————————+ 1 row in set (0.00 sec)

<a name="zoPJA"></a>
### 逻辑运算符
**逻辑运算符又称为布尔运算符,用来确认表达式的真和假。**

- **“NOT”或“!”表示逻辑非。**
- **“AND”或“&&”表示逻辑与运算。**
- **“OR”“||”表示逻辑或运算**
- **“XOR”表示逻辑异或。当任意一个操作数为NULL时,返回值为NULL。对于非NULL的操作数,如果两个逻辑真假值相异,则返回结果1,否则返回0。**

mysql> select 1 xor 0, 1 xor 1, 1 xor 2; +————-+————-+————-+ | 1 xor 0 | 1 xor 1 | 1 xor 2 | +————-+————-+————-+ | 1 | 0 | 0 | +————-+————-+————-+ 1 row in set (0.00 sec)

mysql> select 1 xor 0, 1 xor 1, 1 xor 2 xor 2; +————-+————-+———————-+ | 1 xor 0 | 1 xor 1 | 1 xor 2 xor 2 | +————-+————-+———————-+ | 1 | 0 | 1 | +————-+————-+———————-+ 1 row in set (0.00 sec)

mysql> select 1 xor 0, 1 xor 1, 2 xor 3 xor 3; +————-+————-+———————-+ | 1 xor 0 | 1 xor 1 | 2 xor 3 xor 3 | +————-+————-+———————-+ | 1 | 0 | 1 | +————-+————-+———————-+ ```

位运算符

位运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制数后就是位运算的结果。

  • 位于(&)
  • 位或(|)
  • 位异或(^)
  • 位取反(~)
  • 位右移(>>)
  • 位左移(<<)

    运算符的优先级

    | 优先级由低到高排列 | 运算符 | | —- | —- | | 1 | =(赋值运算)、:= | | 2 | II、OR | | 3 | XOR | | 4 | &&、AND | | 5 | NOT | | 6 | BETWEEN、CASE、WHEN、THEN、ELSE | | 7 | =(比较运算)、<=>、>=、>、<=、<、<>、!=、 IS、LIKE、REGEXP、IN | | 8 | | | | 9 | & | | 10 | <<、>> | | 11 | -(减号)、+ | | 12 | *、/、% | | 13 | ^ | | 14 | -(负号)、〜(位反转) | | 15 | ! |