MySQL学习笔记第四章(运算符)

第04章 运算符

1.算术运算符

算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。
在这里插入图片描述

1.1加法与减法运算符

SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5 
FROM dual;
#输出:
+-----+---------+---------+----------+--------------+------------+------------+
| 100 | 100 + 0 | 100 - 0 | 100 + 50 | 100 + 50 -30 | 100 + 35.5 | 100 - 35.5 |
+-----+---------+---------+----------+--------------+------------+------------+
| 100 |     100 |     100 |      150 |          120 |      135.5 |       64.5 |
+-----+---------+---------+----------+--------------+------------+------------+
1 row in set (0.00 sec)

#在SQL中,+没有连接的作用就表示加法运算。此时会将字符串转换为数值(隐式转换)
SELECT 100+'1' 
FROM DUAL;
#输出
+---------+
| 100+'1' |
+---------+
|     101 |
+---------+
1 row in set (0.00 sec)

#此时将'a'看作0处理
SELECT 100+'a' 
FROM DUAL;
#输出
+---------+
| 100+'a' |
+---------+
|     100 |
+---------+
1 row in set, 1 warning (0.00 sec)

#null值参与运算,结果为null
SELECT 100+NULL 
FROM DUAL;
#输出
+----------+
| 100+NULL |
+----------+
|     NULL |
+----------+
1 row in set (0.00 sec)

结论:

  • 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;
  • 一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;
  • 加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;
  • 在Java中,+的左右两边如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示数值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。(补充:MySQL中字符串拼接要使用字符串函数CONCAT()实现

1.2乘法与除法运算符

#默认除法除不尽
SELECT 100, 100 * 1, 100 * 1.0, 100 / 1.0, 100 / 2,100 + 2 * 5 / 2,100 /3, 100 DIV 0 
FROM DUAL;
#输出
+-----+---------+-----------+-----------+---------+-----------------+---------+-----------+
| 100 | 100 * 1 | 100 * 1.0 | 100 / 1.0 | 100 / 2 | 100 + 2 * 5 / 2 | 100 /3  | 100 DIV 0 |
+-----+---------+-----------+-----------+---------+-----------------+---------+-----------+
| 100 |     100 |     100.0 |  100.0000 | 50.0000 |        105.0000 | 33.3333 |      NULL |
+-----+---------+-----------+-----------+---------+-----------------+---------+-----------+
1 row in set (0.00 sec)

结论:

  • 一个数乘以浮点数1和除以浮点数1后变成浮点数,数值与原数相等;
  • 一个数除以整数后,不管是否能除尽,结果都为一个浮点数;
  • 一个数除以另一个数,除不尽时,结果为一个浮点数,并保留到小数点后4位;
  • 乘法和除法的优先级相同,进行先乘后除操作与先除后乘操作,得出的结果相同。
  • 在数学运算中,0不能用作除数,在MySQL中,一个数除以0为NULL。

1.3求模(求余)运算符

 SELECT 12 % 3, 12%5, 12 MOD -5 ,-12 MOD 5 ,-12 MOD -5 
 FROM DUAL;
+--------+------+-----------+-----------+------------+
| 12 % 3 | 12%5 | 12 MOD -5 | -12 MOD 5 | -12 MOD -5 |
+--------+------+-----------+-----------+------------+
|      0 |    2 |         2 |        -2 |         -2 |
+--------+------+-----------+-----------+------------+
1 row in set (0.00 sec)

举例演示:筛选出employee_id是偶数的员工
在这里插入图片描述

2.比较运算符

  • 比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。
  • 比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。
    在这里插入图片描述

2.1等号运算符

SELECT 1=2, 1!=2, 1='1', 1='a', 0='a' 
FROM DUAL;
#输出
+-----+------+-------+-------+-------+
| 1=2 | 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值