Skip to content

操作符

负号

-a – 二元表达式

乘号、除号和取余

a * b – 乘法

a / b – 除法

加号和减号

a + b – 加法

a - b – 减法

比较运算符

a = b – 比较 a 是否 等于 b

a != b, a <> b – 比较 a 是否 不等于 b

a <= b – 比较 a 是否 小于等于 b

a >= b – 比较 a 是否 大于等于 b

a < b – 比较 a 是否 小于 b

a > b – 比较 a 是否 大于 b

a LIKE b – 比较 a 是否 匹配 b, 忽略大小写

a REGEXP b – 比较 a 是否 匹配 b , 忽略大小写

a NOT LIKE b – 比较 a 是否 不匹配 b, 忽略大小写

a NOT REGEXP b – 比较 a 是否 不匹配 b, 忽略大小写

a BETWEEN b AND c – 等价于 a >= b AND a <= c

a IN ... – 比较 a 是否 在集合中

a NOT IN ... – 比较 a 是否 不在集合中

逻辑与

a AND b – 比较 a 和 b 是否 都为真

逻辑或

a OR b – 比较 a 和 b 是否 有一个为真

CASE 条件表达式

sql
CASE [x]
    WHEN a THEN b
    [WHEN ... THEN ...]
    [ELSE c]
END

判断是否为 NULL

支持 IS NULLIS NOT NULL

IS NULL

  • 对于 可为空 类型的值, IS NULL 会返回:
    • 1 值为 NULL
    • 0 否则
  • 对于其他类型的值, IS NULL 总会返回 0
sql
SELECT x+100 FROM t_null WHERE y IS NULL
response
┌─x+100─┐
│   101 │
└───────┘

IS NOT NULL

  • 对于 可为空 类型的值, IS NOT NULL 会返回:
    • 0 值为 NULL
    • 1 否则
  • 对于其他类型的值,IS NOT NULL 总会返回 1
sql
SELECT * FROM t_null WHERE y IS NOT NULL
response
┌─x─┬─y─┐
│ 2 │ 3 │
└───┴───┘

IN 操作符

运算符的左侧是单列或元组。

例:

sql
SELECT UserID IN (123, 456) FROM ...
SELECT (CounterID, UserID) IN ((34, 123), (101500, 456)) FROM ...