MySql(7)运算符

Mysql专栏入口

数据库sql文件链接如下
链接:https://pan.baidu.com/s/1g6GKTZ6GVg04gxs4VzhxJA
提取码:ttst
专栏中有mysql的导入导出,里面有教如何导入

一、 算数运算符

基础的算数运算符:+ 加 - 减 * 乘 / (div) 除 %(mod) 取模

SELECT
	100 + 1,
	100 - 1,
	100 / 2,
	100 DIV 2,
	100 % 3,
	100 MOD 3 
FROM
DUAL

以上sql涉及了基础的算数运算符号使用结果如下在这里插入图片描述

二、比较运算符

2.1 基础比较运算符

基础的比较运算符:= 等于 <=> 安全等于 <>(!=)不等于 < 小于 >大于 <= 小于等于 >= 大于等于

SELECT
	1 = 1,
	2 <=> 2,
	1 = NULL,
	1 <=> NULL,
	1 != 2,
	1 <> 2,
	1 > 2,
	1 < 2 
FROM
DUAL

结果如下所示,十分简单,只有<=>安全等于少见,它是为了和NULL进行比较才出现的一个特殊的等于。
在这里插入图片描述

2.2 比较符关键字/函数

2.2.1 IS NULL \ IS NOT NULL \ ISNULL()

SELECT
	* 
FROM
	account 
WHERE
	monthly_income IS NULL

在这里插入图片描述

SELECT
	* 
FROM
	account 
WHERE
	monthly_income IS NOT NULL

在这里插入图片描述

SELECT
	* 
FROM
	account 
WHERE
	ISNULL(monthly_income)

在这里插入图片描述

2.2.2 LEAST() \ GREATEST()

SELECT
	LEAST( 1, 2, 3 ),
	GREATEST( 1, 2, 3 ) 
FROM
DUAL

LEAST()取最小,GREATEST()取最大
在这里插入图片描述

2.2.3 BETWEEN…AND…

SELECT
	* 
FROM
	account 
WHERE
	monthly_income BETWEEN 500 
	AND 2000

BETWEEN…AND… 在某个范围内的数据
在这里插入图片描述

2.2.4 IN() \ NOT IN()

SELECT
	* 
FROM
	account 
WHERE
		account_id IN (1,15,20)

# account_id IN (1,15,20) 和下述这段sql效果相同		
account_id = 1 OR account_id = 15 OR account_id = 20

NOT IN()就是不在和 IN()相反。
在这里插入图片描述

三、 逻辑运算符

3.1 NOT( !) OR ( || )AND ( &&)

SELECT
	* 
FROM
	account 
WHERE
	product_cd = "CHK" 
	or monthly_income != 1000

上述sql就是一个很标准的 or 使用案例 并且使用 “非” 配合 = 实现的不等于 将or换成and即可实现不同效果

3.2 XOR

SELECT
	* 
FROM
	account 
WHERE
	product_cd = "CHK" 
	XOR monthly_income = 1000

它追求的就是异,俩只能满足一个,不可以同时满足。也就是,="CHK"不能=1000。反之也成立。

四、位运算

SELECT
	12 & 5,
	12 | 5,
	12 ^ 5 
FROM
DUAL

在这里插入图片描述

这仨符号是用于二进制计算的,大概就是这样的。
12的2进制是1100
5的2进制是101
进行 & (与)运算时,是这样的。

  1 1 0 0
& 0 1 0 1 
___________
  0 1 0 0    这个二进制数字转换为十进制就是 4

进行 | (或)运算时,是这样的。

  1 1 0 0
| 0 1 0 1 
___________
  1 1 0 1    这个二进制数字转换为十进制就是 13

进行 ^ (亦或)运算时,是这样的。

  1 1 0 0
^ 0 1 0 1 
___________
  1 0 0 1    这个二进制数字转换为十进制就是 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值