MySQL常见运算符介绍

0 引言

       MySQL的内部运算符很丰富,主要有四大类,分别是算术运算符、比较运算符、逻辑运算符、位运算符。

1.算术运算符 

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

 

2.比较运算符

       比较运算符用于比较运算,包括大于(>)、小于(<)、等于(=)、大于等于(>=)、小于等于(<=)、不等于(!=),以及IN、BETWEEN AND、IS NULL、GREATEST、LEAST、LIKE、REGEXP等。

3.逻辑运算符

       逻辑运算符的求值所得结果均为1(TRUE)、0(FALSE),这类运算符有逻辑非(NOT或者!)、逻辑与(AND或者&&)、逻辑或(OR或者||)、逻辑异或(XOR)。

   3.1    等于运算符(=)

       数值比较时有如下规则:

     (1)若有一个或两个参数为NULL,则比较运算的结果为NULL。(2)若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。

    (2)若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。

    (3)若两个参数均为整数,则按照整数进行比较。

    (4)若用字符串和数字进行相等判断,则MySQL可以自动将字符串转换为数字。

 3.2    安全等于运算符(<=>)

      这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1,而不为NULL;当一个操作数为NULL时,其返回值为0,而不为NULL。

3.3不等于运算符(<>或者!=) 

     ‘<>’或者‘!=’用于判断数字、字符串、表达式不相等的判断:如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。 

3.4 小于等于运算符(<=)

‘<=’用来判断左边的操作数是否小于等于右边的操作数:如果小于等于,返回值为1;否则返回值为0。‘<=’不能用于判断空值NULL。

3.5 小于运算符(<)

 ‘<’运算符用来判断左边的操作数是否小于右边的操作数:如果小于,返回值为1;否则返回值为0。‘<’不能用于判断空值NULL。

3.6 大于等于运算符(>=)

 ‘>=’运算符用来判断左边的操作数是否大于等于右边的操作数:如果大于等于,返回值为1;否则返回值为0。‘>=’不能用于判断空值NULL。 

3.7 大于运算符(>) 

‘>’运算符用来判断左边的操作数是否大于右边的操作数:如果大于,返回值为1;否则返回值为0。‘>’不能用于判断空值NULL。

3.8 IS NULL(ISNULL)和IS NOT NULL运算符 

IS NULL和ISNULL检验一个值是否为NULL:如果为NULL,返回值为1;否则返回值为0。IS NOT NULL检验一个值是否为非NULL:如果是非NULL,返回值为1;否则返回值为0。

3.9 BETWEEN AND运算符 

语法格式为:expr BETWEEN min AND max。假如expr大于等于min且小于等于max,则BETWEEN的返回值为1,否则返回值为0。

 

3.10 LEAST运算符 

语法格式为:LEAST(值1,值2,...,值n)。其中,“值n”表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值。假如任意一个自变量为NULL,则LEAST()的返回值为NULL。

 

3.11 GREATEST (value1,value2,...) 

语法格式为:GREATEST(值1,值2,...,值n)。其中,n表示参数列表中有n个值。当有两个或多个参数时,返回值为最大值。假如任意一个自变量为NULL,则GREATEST()的返回值为NULL。

 3.12 IN、NOT IN运算符

IN运算符用来判断操作数是否为IN列表中的其中一个值:如果是,返回值为1;否则返回值为0。NOT IN运算符用来判断表达式是否为IN列表中的其中一个值:如果不是,返回值为1;否则返回值为0。

3.13 LIKE 

LIKE运算符用来匹配字符串,语法格式为:expr LIKE匹配条件。如果expr满足匹配条件,则返回值为1(TRUE);如果不匹配,则返回值为0(FALSE)。expr或匹配条件中任何一个为NULL,则结果为NULL。

LIKE运算符在进行匹配时,可以使用下面的两种通配符:

(1)‘%’,匹配任何数目的字符,甚至包括零字符。(2)‘_’,只能匹配一个字符。

3.14 REGEXP  正则表达式

REGEXP运算符用来匹配字符串,语法格式为:expr REGEXP匹配条件。如果expr满足匹配条件,返回1;如果不满足,则返回0。若expr或匹配条件任意一个为NULL,则结果为NULL。 

REGEXP运算符在进行匹配时,常用的有下面几种通配符:(1)‘^’匹配以该字符后面的字符开头的字符串。(2)‘$’匹配以该字符后面的字符结尾的字符串。 (3)‘.’匹配任何一个单字符。(4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”“b”或“c”。为了命名字符的范围,使用一个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。(5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。

4 逻辑运算符

在SQL中,所有逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。在MySQL中,它们体现为1(TRUE)、0(FALSE)和NULL。逻辑运算符大多数都与不同的数据库SQL通用。 

 

5.位运算符

       位运算符参与运算的操作数按二进制位进行运算,包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)6种。

6 运算符按优先级由低到高排列 

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值