MySql中的运算符主要包括算术运算符,比较运算符,逻辑运算符和位运算符。
1. 算术运算符
最常见的是加,减,乘,除和模运算。按照数学思维处理就行。
eg:
对于求模可以不同%,在mysql中有个求模函数MOD(a,b),效果与%一样。
eg:
2. 比较运算符
常见比较运算符=, <>或!=, < , <= , > ,>=, <=>,BETWEEN, IN ,IS NULL, IS NOT NULL, LIKE, REGEXP或RLIKE.
比较结果为真,返回1,否则返回0.
like是模糊查询,格式a like %123456%,如果a中含有123456,则真,返回1,否则返回0;
a between b and c,如果a在b和c范围位真,返回1,否则,返回0;
eg:
3. 逻辑运算符(布尔运算符)
真与假的判断,包括NOT或!(逻辑非), AND或&&(逻辑与), OR或||(逻辑或), XOR(逻辑异或)。
如果返回结果是1,表示真,返回0,表示假。
eg:
NOT或! (逻辑非),真即是假,假即是真,也就是真假相对,例外的是空就是空。
AND或&&(逻辑与), 多个条件在一起组合,一假必假,全真才真,例外就是如果任何一个为null,则整个表达式返回null。
OR或||(逻辑或),一真必真,全假才假,例外就是如果条件都为null,则整个表达式返回null。
XOR逻辑异或,这个逻辑运算符是不是有点奇怪,含义如下:
当任意一个操作符为null,则返回null;
对于非null的情况,两个表达式逻辑真假值相异,则返回1,否则返回0,
也就是说,只有满足异,才能为真,如果同,则为假。
举个实例,男女在一起是真(异),两个男人是假(同),两个女人是假(同),无论男女跟人妖在一起返回的就是人妖(含有null,人妖就是null)。
4. 位运算符
位运算符是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,
得到二进制结果转换为十进制数后就是位运算的结果。
位运算符号:&(位与) , | (位或), ~(位取反), <<(位左移), >>(位又移), ^(位异或)
eg:
该例子中2的二进制是10, 3的二进制是11,所有10 & 11的结果是10,将10转换为十进制后是2,
所以整个表达式的结果为2.