真值优先级以及null的特殊性

AND 的情况:false > null > true

OR 的情况: true > null > false

select null and false; -- false
select false and null; -- false
select null and true; -- null
select true and null; -- null

select true or null; -- true
select null or true; -- true
select false or null; -- null
select null or false; -- null

null和字符串拼接是null 这一点很容易在函数里面弄错

select 'aa' || null; -- null
select 1 in (1,2,3,null); -- true
select 1 in (2,3,null); -- null
select 1 not in (1,2,3,null); -- false
select 1 not in (2,3,null); -- null

猜你喜欢

转载自blog.csdn.net/weixin_42767321/article/details/87867188