mysql学习笔记之十(mysql运算符)

mysql提供的运算符包含算术运算符,比较运算符,逻辑运算符和位运算符。

算数运算符
包含:+ - * / %
1、获取各种算数运算后的结果
select
6+4 ‘加法’,
6-4 ‘减法’,
6*4 ‘乘法’,
6/4 ‘除法’,
6 div 4 ‘除法’,
6%4 ‘求模’,
6 mod 4 ‘求模’;
+——+——+——+——–+——+——+——+
| 加法 | 减法 | 乘法 | 除法 | 除法 | 求模 | 求模 |
+——+——+——+——–+——+——+——+
| 10 | 2 | 24 | 1.5000 | 1 | 2 | 2 |
+——+——+——+——–+——+——+——+
2、除了操作数值,还可以操作表中的字段
select ename ‘雇员’,sale ‘月工资’, sale*12 ‘年薪’ from t_employee;
3、除运算符(/和DIV)和求模运算符(%和MOD),如果除数为0将是非法运算,返回结果为null
select 6/0 ‘除法’,
6 div 0 ‘除法’,
6%0 ‘求模’,
6mod0 ‘求模’;
+——+——+——+——+
| 除法 | 除法 | 求模 | 求模 |
+——+——+——+——+
| NULL | NULL | NULL | NULL |
+——+——+——+——+
比较运算符
比较运算符包含常用比较运算符和实现特殊功能比较运算符
常用比较运算符

< =(<=>) !=(<>) >= <=
注意:
1、=和<=>
*都可以判断数值,字符串和表达式是否相等,相等返回1.否则返回0;
select
1=1 ‘数值比较’,
‘cjgong’=’cjgong’ ‘字符串比较’,
1+2=3+3 ‘表达式比较’,
1<=>1 ‘数值比较’,
‘cjgong’=’cjgong’ ‘字符串比较’,
1+2<=>3+3 ‘表达式比较’;
+———-+——————————–+————+———-+——————————–+————+
| 数值比较 | ‘cjgong’=’cjgong”字符串比较’ | 表达式比较 | 数值比较 | ‘cjgong’=’cjgong’字符串比较’ | 表达式比较 |
+———-+——————————–+————+———-+——————————–+————+
| 1 | 0 | 0 | 1 | 0 | 0 |
+———-+——————————–+————+———-+——————————–+————+
*在比较字符串是否相等时,=不能操作null,而后者可以。
mysql> select null<=>null ‘<=>符号效果’,null=null ‘=符号效果’;
+————-+———–+
| <=>符号效果 | =符号效果 |
+————-+———–+
| 1 | NULL |
+————-+———–+
2、!=和<>这两个比较运算符不能操作null
3、>,>=,<,<=比较运算符也不能操作null
特殊运算符
between…and
is null
in
like
regexp:正则表达式匹配
正则表达式
mysql支持的模式字符如下:
^ 开始
$ 结尾
. 任意一个字符
[字符集合] 集合内的任意一个字符
[^字符集合] 集合外的任意一个字符
str1|str2|str3 匹配三个字串的任意一个
* 匹配字符,0个或1个
+ 匹配字符,包含1个
字符串{N} 字符串出现N次
字符串(M,N) 字符串出现至少M次,最多N次
逻辑运算符
AND(&&)
OR(||)
NOT(!)
XOR
位运算符
& | ~ ^ << >>
BIN()二进制表示
select 4&5,bin(4&5) ‘二进制’,4&5&6,BIN(4&5&6) ‘二进制’;
+—–+——–+——-+——–+
| 4&5 | 二进制 | 4&5&6 | 二进制 |
+—–+——–+——-+——–+
| 4 | 100 | 4 | 100 |
+—–+——–+——-+——–+

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。