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