MySQL之知识点(四)

一、比较运算符

(注意:输出结果只有两种,1或0,其中1表示正确,0表示错误,如果字符串隐式转换不成功则为0) 

(1)等号运算符,应遵循以下规则:

  • 如果等号两边的值、字符串或表达式都是字符串时,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码是否相等;

  •  如果等号两边都是整数,则MySQL会按照整数进行比较两个值的大小
  • 如果等号两边的值一个是整数,一个是字符串,则MySQL会将字符串转化为数字进行比较
  • 如果等号两边的值、字符串或表达式中有一个为NULL,则结果为NULL。

(2)安全等于运算符

安全等与运算符(<=>)与等于运算符(=)的作用是相似的,唯一的区别是‘<=>'可以用来对NULL进行判断,在两个操作数均为NULL时,其返回值为1,而不为NULL;当操作数一个为NULL时,其返回值为0,而不为NULL;

非符号类型的运算符: 

 具体效果:

least:

select least('c','s','b','f') from dual;

greatest:

select greatest('x','w','z','a') from dual;

 

 

 (注意:当字符串不是单独一个字符时,least判断的是由第一个字符按字典排序,而并非字符串的长度

在like模糊匹配运算符中,一个_表示一个字符。

语法格式:
select 名称 from  表名 where 名称 like '_a%'(查询第二个字符是a的信息)

(3)regexp运算符 

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

REGEXP运算符在进行匹配时,常用的有下面几种通配符:

  1. '^':匹配以该字符后面的字符开头的字符串。
  2. '$':匹配以该字符前面的字符结尾的字符串。
  3. '.':匹配任何一个单字符。
  4. "[...]":匹配在方括号内的任意字符。为了命名字符的范围,使用一个'-'。"['a'-'z']"匹配任何字符,而"[0-9]"匹配任何数字。
  5. '*':匹配零个或多个在他前面的字符,例如:'x*'匹配任何数量的'x'字符,"[0-9]*"匹配任何数量的字符

 

二、逻辑运算符

逻辑运算符主要用来判断表达式的真假,在MySQL中,逻辑运算符的返回值为1,0或为NULL。

MySQL中支持4种逻辑运算符:

 (注意:or跟and是可以一起使用,但是在使用时要注意两者的优先级,由于and的优先级高于or,因此先对and的两边进行操作,再与or进行操作)

 (1)运算符的优先级

数字编号越大,优先级越高,优先级高的运算符先进行运算。

三、位运算符

位运算符是在二进制数上进行计算的运算符。位运算符会先将操作数变成二进制数,然后进行位运算,最后将计算结果从二进制变回十进制数。

MySQL支持的位运算符如下:
 

select 12&5,12|5,12^5 from dual; 

 

相关解释: 

 

 

在一定范围内,向左移动一位就是乘以2,向右移动一位就是除以2。(最本质的还是将其转化为二进制操作后再转为十进制) 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值