MySQL运算符
MySQL运算符包括:算术运算符、比较运算符、逻辑运算符、位运算符。
算术运算符
MySQL支持的算术运算符包括加、减、乘、除和取余,这类运算符的使用频率比较高。
在除法和取余需要注意一点,如果除数是0,将是非法除数,返回结果为NULL。
比较运算符
使用SELECT语句进行查询时,MySQL允许用户对表达式的两侧的操作数进行比较,比较结果为真,返回1,,比较结果为假,返回0,比较结果不确定返回NULL。
比较运算符可以用来比较数字、字符串或者表达式。数字作为浮点数进行比较,字符串以不区分大小写的方式进行比较。
1、=号运算符,用于比较运算符两侧的操作数是否相等,如果相等则返回1,如果不相等则返回0。NULL不能用于比较,会直接返回NULL。
2、!=号用于表示不等于,和 = 号相反。
3、<=> NULL-safe的等于运算符,与 = 号最大的区别在于可以比较NULL值。
4、<号运算符,当左侧操作数小于右侧操作数时,返回值为1,否则其返回值为0。
5、BETWEEN 运算符的使用格式是 【a BETWEEN min AND max】,当a大于等于min并且小于等于 max时,返回1,否则返回0。操作数类型不同的时候,会转换为相同的数据类型再进行处理。
6、IS NULL 和 IS NOT NULL 表示的是是否为NULL,ISNULL为true返回1,否则返回0,IS NOT NULL同理。
7、IN这个比较操作符判断某个值是否在一个集合中,使用方式是 xxx in (value1,value2,value3)。
8、LIKE 运算符的格式是 xxx LIKE %123%。
9、REGEX的运算符的格式是 s REGEXP str,匹配时返回值为1,否则返回0。
逻辑运算符
逻辑运算符值得就是布尔运输符,布尔运算符指返回真和假。MySQL支持四种逻辑运算符。
1、NOT 或者是 ! 表示的是逻辑非,当操作数为0(假),则返回值为1,否则值为0。但有一点除外,那就是 NOT NULL 的返回值为NULL。
2、AND 和 && 表示的是逻辑与的逻辑,当所有操作数为非零值并且不为NULL时,结果为1,但凡是有一个0则返回0,操作数中有一个null则返回null。
3、OR 和 || 表示的是逻辑或,当两个操作数均为非NULL值时,如有任意一个操作数为非零值,则结果为1,否则结果为0。
4、XOR 表示逻辑异或,当任意一个操作数为NULL时,返回值为NULL。对于非NULL的操作数,如果两个的逻辑真假值相异,则返回结果1,否则返回0。
位运算符
位运算符就是将给定的操作数转换为二进制后,对各个操作数的每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制后就说是位运算的结果。
位与
位与指的就是按位与,把 & 双方转换为二进制再进行 & 操作。按位与是一个数值减小的操作。
位或
位或指的就是按位或,把 | 双方转换为二进制再进行 | 操作。位或是一个数值增大的操作。
位异或
位异或指的就是对操作数的二进制位做异或操作。
位取反
位取反指的就是对操作数的二进制位做NOT操作,这里的操作数只能是一位。
位右移
位右移是对左操作数向右移动指定位数,例如,50>>3,就是对50取其二进制然后向右移三位,左边补上0。
位左移
位左移与位右移相反,是对左操作数向左移动指定位数,例如20<<2。