1、算术运算符
1.1、在除法和模运算中,如果除数为零,将是非法除数,返回结果为 NULL
1.2、a % b === MOD(a,b)
2、比较运算符
2.1、比较结果为真,返回 1,为假返回 0,比较结果不确定返回 NULL
2.2、<=> 表示 NULL 安全的等于(NULL-safe);和 = 类似,相等时返回 1,不同之处在于操作的值为 NULL 也可以正确比较
2.3、字符串比较大小不区分大小写;NULL 不能用于 = 比较
2.4、BETWEEN : a BETWEEN min AND max (类型相同时)等价于 min <= a <= max;否则遵守类型转换原则进行转换后再进行比较
2.5、REGEXP: str REGEXP str_pat,正则匹配
3、逻辑运算符(布尔运算符)
3.1、NOT 或 ! 表示逻辑非:操作数为 0(假),返回 1;否则返回 0。例外情况:NOT NULL 的返回值为 NULL
3.2、AND 或 && 表示逻辑与:所有操作数均为非零值并且不为 NULL 时,返回 1;当一个或多个操作数为 0 时,返回 0;操作数中有任何一个为 NULL,返回 NULL
3.3、OR 或 || 表示逻辑或:当两个操作数均为非 NULL 时,如果任意一个操作数为非零值,返回 1,否则返回 0;当有一个操作数为 NULL,另一个操作数为非零值,返回 1,否则返回 NULL;两个操作数均为 NULL,返回 NULL
3.4、XOR 表示逻辑异或:任意一个操作数为 NULL,返回 NULL;同为非 NULL 的两个操作数,逻辑真假值相异返回 1,否则返回 0
4、位运算符(将给定的操作数转换为二进制后,对各个操作数的每一位都进行指定的逻辑运算,得到的二进制结果转为十进制后即为运算结果)
(位运算符不太懂)
5、运算优先级:可以使用 () 提升优先级