【sql】sql中true,false 和 null之间and、or运算的理解。

select true and null "tan",false and null "fan",true or null "ton",false or null "fon";

结果如下:
在这里插入图片描述
怎么理解呢?
很简单,把null当做介于true和false中间的值,也就是如果true=1,false=0,则null=1/2。

and 运算选择较小的值:
true=1 and null=1/2 ,则min(1,1/2) = 1/2 ,即 null
false=0 and null=1/2,则min(0,1/2) = 0,即 false

or 运算选择的较大的值:
true=1 or null=1/2,则max(1,1/2) = 1 ,即 true
false=0 or null=1/2,则max(0,1/2) = 1/2,即null

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值