欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

MySQL逻辑运算符XOR(逻辑异或)

shiping1 的头像

MySQL逻辑运算符XOR(逻辑异或)

XOR表示异或运算。异或运算符XOR的基本形式为:

x1 XOR x2

当任意一个操作数为NULL时,返回值为NULL;对于非NULL的操作数来说,如果两个操作数都是非0值或者都是0值,则返回结果为0;如果一个为0值,另一个为非0值,返回结果为1。


实例

使用异或运算符“XOR”进行逻辑判断。SQL代码如下:

mysql>SELECT NULL XOR 0,NULL XOR 5,2 XOR 4, 2 XOR 0,0 XOR 0,4 XOR 6 XOR 0 XOR 2;

如下图所示:

使用异或运算符“XOR”进行逻辑判断的操作效果

因为:

  • “NULL XOR 0”和“NULL XOR 5”中包含了NULL,结果返回NULL。
  • “2 XOR 4”两个操作数都是非0的数字,结果返回0。
  • “2 XOR 0”中一个是非0数字,一个是0,所以结果返回1。
  • “0 XOR 0”中的操作数都是0,所以结果返回0。
  • “4 XOR 6 XOR 0 XOR 2”中有多个操作数,计算时是从左到右依次计算的,先将“4 XOR 6”计算出来,将计算结果与0再进行计算,依此类推。

提示

a XOR b的计算等同于(a AND (NOT b))或者((NOT a) AND b)。

MySQL中进行异或运算时,所有大于-0.5小于0.5的数字都被视为逻辑0,其它数字被视为逻辑1。

  • 如果两个操作数同为逻辑0,或者同为逻辑1时,结果返回0。即逻辑相同时,返回0。
  • 如果两个操作数一个是逻辑0,另一个是逻辑1,结果返回1.即逻辑不同时,返回1。

“0.4 XOR 4.4”返回的结果为1。因为0.4属性逻辑0,4.4属于逻辑1。

来自  http://www.baike369.com/content/?id=5574

普通分类: