运算符是告诉MySQL执行特定算数或逻辑操作的符号。MySQL的内部运算很丰富,主要有四大类,分别是:算数运算符、比较运算符、逻辑运算符、位操作运算符

算数运算符

算数运算符用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(%)

比较运算符

比较运算符的结果总是1、0或NULL,比较运算符经常在select的查询条件子句中使用,用来查询满足指定条件的记录。
1.等于运算符(=)用来判断数字、字符串和表达式是否相等。如果相等,返回值为1,否则返回0。它不能用于NULL的判断。
            数值比较规则:
            1.若有一个或两个参数为NULL,则比较运算的结果为NULL
            2.若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较
            3.若两个参数均为整数,则按照整数进行比较
            4.若一个字符串和数字进行相等判断,则MySQL可以自动将字符串转换为数字
2.安全等于运算符(<=>)和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1.而当一个操作数为NULL时,返回值为0而不是NULL。
3.不等于运算符(<>或者!=)用于判断数字、字符串、表达式不相等的判断。如果不相等返回1,否则返回0.都不可以用于判断空值NULL
4.小于或等于运算符(<=)用来判断左边的操作数是否小于或者等于右边的操作数。如果小于或等于返回值为1,否则返回0。不能用于判断空值NULL,否则返回NULL.
5.小于运算符(<)用来判断左边的操作数是否小于右边的操作数。如果小于返回值为1,否则返回0。不能用于判断空值NULL,否则返回NULL.
6.大于或等于运算符(>=)用于判断左边的操作数是否大于或者等于右边的操作数,如果大于或者等于,返回1,否则返回0.不能用于判断空值NULL,否则返回NULL
7.大于运算符(>)用于判断左边的操作数是否大于右边的操作数,如果大于返回1,否则返回0.不能用于判断空值NULL,否则返回NULL
8.IS NULL和ISNULL()检验一个值是否为NULL,如果为NULL,返回值为1,否则返回值为0.
           IS NOT NULL检验一个值是否为NULL,如果为NULL,返回值为0,否则返回值为1.
9.BETWEEN AND运算符,格式为:expr BETWEEN min and max。假如expr大于或等于min且小于或等于max,则返回值为1,否则为0。
10.LEAST运算符,语法格式:LEAST(值1,值2,....,值n),其中值n表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值。假如任意一个值为NULL,则返回NULL。
11.GREATEST(value1,value2,...),当有2个或多个参数时,返回值为最大值假如任意一个自变量为NULL,则返回NULL。
12.IN 运算符用于判断操作数是否为IN列表中的其中一个值,如果是,返回1,否则返回0.
     NOT IN 运算符用于判断操作数是否为IN列表中的其中一个值,如果是,返回0,否则返回1.
13.LIKE运算符用来匹配字符串,语法为:expr Like 匹配条件,如果满足匹配条件,返回1,否则返回0.若expr或匹配条件中任何一个为NULL,则结果为NULL
            LiKE运算符在进行匹配时,可以使用下面两种通配符:
            1.'%',匹配任何数目的字符,包括零字符
            2.'_',只能匹配一个字符
14.REGEX运算符用来匹配字符串,语法格式为:expr REGEX 匹配条件,如果expr满足匹配条件,返回1,否则返回0.若expr或匹配条件中任何一个为NULL,则结果为NULL
            REGEX运算符在进行匹配时,常用的通配符:
            1.'^'匹配以该字符后面字符开头的字符串
            2.'$'匹配以该字符后面的字符结尾的字符串
            3.'.'匹配任何一个单字符
            4."[...]"匹配在方括号内的任何字符。
            5.'*'匹配零个或多个在它前面的字符。
    

逻辑运算符

1.逻辑非运算符NOT或!表示当操作数为0时,所得值为1;当操作数为非零时,所得值为0.当操作数为NULL时,所得值为NULl。
2.逻辑与运算符AND或者&&表示当所有操作数均为非零值、并且不为NULL时,计算所得值为1.当一个或多个操作数为0时,所得结果为0,其余情况返回NULL。
3.逻辑或运算符OR或||表示当两个操作数均为非NULL值,且任意一个操作数为非零值,结果为1,否则为0.当有一个操作数为NULL,且另一个为非零值时,结果为1,否则为NULL。当两个操作数均为NULL,则结果为NULL。
4.逻辑异或运算符XOR。当任意一个操作数为NULL时,返回值为NULL;对于非NULL的操作数,如果两个操作数都是非零值或都是零值,则返回0值;如果一个为0,另一个为非零,则结果为1。

位运算符

是用来对二进制字节中的位进行测试、移位或测试处理,MySQL中提供的位运算有按位或(|),按位与(&),按位异或(^),按位左移(<<),按位右移(>>),按位取反(~).

10-04 21:52