MySql中的运算符
MySQL的类型主要包括:算术运算符,比较运算符,逻辑运算符和位运算符。
1.算术运算符:加、减、乘、除和模运算。他们是最常用和最简单的一类运算符。
“+” 用于获得一个或多个值的和。
“-”用于从一个值中减去另一个值。
“*”使数字相乘,得到两个或多个值的乘积。
“/”用一个值除以另一个值得到商。
“%”用一个值除以另外一个值得到的余数。
模运算:使用MOD(a,b)函数与a%b效果一样。
2.比较运算符:当使用select进行查询时,MySQL允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,返回1,为假则返回0,比较结果 不确定则返回NULL。
“=” 用于比较运算符两侧的操作数是否相等,如果两侧操作数相等,则返回值为1,否则为0,NULL不能用于“=”比较。
“<>” 和“=” 相反,如果两侧操作数不等,则返回1,否则返回0 ,NULL不能使用"<>"来比较。
“<=>” 和“=” 类似 ,两侧操作数相同时返回1 ,不同之处在于可以用来比较NULL。
“<” 当左侧操作数小于右侧操作数时返回1 ,否则返回 0 。
“<=” 当左侧操作数小于等于右侧操作数时返回1 ,否则返回 0 。
“>” 当左侧操作数大于右侧操作数时返回1 ,否则返回0.
“>=” 当左侧操作数大于等于右侧操作数时返回1 ,否则返回0.
“BEWEEN” 使用格式为 “a BETWEEN min AND max ” 当a 大于等于min 并且小于等于max时,则返回值为1 ,否则为 0 ,当操作数的类型相同时,表达式等于 (a>= min AND a<= max) ,当操作数类型不同时,比较会遵循类型转换原则进行转换后,在进行比较。
“in” 使用格式为“a in (value1,value2.。。)” a的值存在于列表中则返回值为1 否则为0.
“IS NULL” 使用格式为“a IS NULL” 当 a的值为null时,返回值为1 ,否则为 0
“IS NOT NULL” 使用格式为“a IS NOT NULL” 和“IS NULL” 相反,当a 的值不为NULL,则返回1, 否则返回0。
“LIKE” 使用格式为 “a LIKE %123%” 当a中含有“123”时则返回1 ,否则返回0.
“REGEXP” 使用格式:“a REGEXP str” 当a字符串中含有srt相匹配的字符串时,则返回值为1 ,否则返回0
3.逻辑运算符也被称为布尔运算符,用来确认表达式的真和假。MySQL支持4中逻辑运算符。
“NOT或!” 表示逻辑非,返回和操作数相反的结果:当操作数为0,则返回1,为1,则返回0.有一点除外,就是 “NOT NULL” 返回值为NULl
“AND 或 &&” 表示逻辑与,当所有操作数均为非零值并且不为null时,计算所得结果为1,当一个或多个操作数为0时,那所得结果就是0,操作数中任何一个操作数为null则返回结果为:NULL。
“OR或 ||”表示逻辑或,当连个操作数均为非null时,如果有任意一个操作数为非零值,则结果为1,否则为0,当操作数有一个为null时,如另一个操作数为非0值,则结果为1,否则为null,如果两个操作数均为null,那么所得结果也为null。
“XOR” 表示逻辑异或,当任意一个操作数为null时,返回值为null,对于非null的操作数,如果两个的逻辑真假值相异,则返回结果为1,否则返回为0.
4.位运算符是见给定的操作数 转化为二进制后,对各个操作数每一位都进行指定的逻辑运算, 得到二进制结果转换为十进制数后就是位运算的结果。
“&” 表示 位与 对多个操作数的二进制位做逻辑和操作,例如“2&3” 因为2二进制表示为 10,3是11,所以10&11的结果为10,十进制数字还是2。
“|” 表示 位或 对多个操作数的二进制做逻辑或操作,例如“2|3” 结果应该是10|11,结果还是11,应该是3。
“^” 表示 位异或 对操作数进行位异或操作,10^11的结果是01,结果应该是1。
“~” 表示 位取反 对操作数的二进制做NOT操作。
“>>” 表示 位右移 对左操作数向右移动右操作数指定的位数。
“<<” 表示 位左移 对左操作数向左移动右操作指定的位数。
5.运算符的优先级: