MySql 运算符

  1. 参数含 NULL 时,结果为 NULL,除了 <=> 运算符。
  2. 十六进制与非数字比较时,当作字符串。
  3. 时间与其它比较时,转成时间戳。

比较运算符

运算符 意义
= 等于
<> != 不等于
<= 小于等于
>= 大于等于
> 大于
< 小于
<=> NULL 值安全等于
IS [NOT] NULL 是否为空
expr [NOT] BETWEEN min AND max 值是否位于 min 与 max 之间
expr [NOT] in (value, ...) 值是否位于列表中
ISNULL(expr) 是否为空
COALESCE(list) 返回第一个非 NULL 值
INTERVAL(N,N1,N2,N3,...) 若 N < Ni,返回(i-1),Ni 需已排序

逻辑运算符

运算符 意义
NOT, ! 逻辑非
AND, && 逻辑与
OR, || 逻辑或
XOR 逻辑异或

位运算符

运算符 意义
| 位或
& 位与
^ 位异或
<< 左移 BIGINT
>> 右移 BIGINT
BIT_COUNT(N) 计算数 N 的二进制数有几个1

用于 GROUP BY 子句的函数

语法 意义
COUNT(expr) 返回 expr 非空的数目
COUNT(DISTINCT expr,[expr...])  返回一个互不相同的非 NULL 的值的总数目
AVG(expr)  返回 expr 的平均值

MAX(expr) 

返回 expr 的最大值
MIN(expr)  返回 expr 的最小值
SUM(expr)  返回 expr 的总和

字符串比较

语法 意义
expr [NOT] LIKE pat [ESCAPE 'escape-char'] 字符串匹配,忽略大小写,0、"%"匹配0或多个字符,"_"匹配一个字符
expr SOUNDS LIKE expr 发音相似
expr [NOT] REGEXP|RLIKE pat 返回是否符合 MySQL 正则表达式 pat
STRCMP(str1,str2) 字符串比较,返回 -1,0,1
MATCH (col1,col2,...) AGAINST (expr) MATCH (col1,col2,...) AGAINST (expr IN BOOLEAN MODE) 全文搜索
BINARY 字符串比较表达式 以二进制方式进行比较
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] [,col ...]] [SEPARATOR str_val]) 函数返回一个字符串结果,该结果由分组中的值连接组合而成
VARIANCE(expr)  返回 expr 的标准方差
STD(expr) STDDEV(expr)  返回 expr 的标准偏差
BIT_OR(expr)  返回 expr 中所有比特位的位 OR
BIT_AND(expr)  返回 expr 中所有比特位的位 AND