为什么mysql不支持xor关键字?

rggaifut  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(342)

如果我在sql中使用xor关键字,它会显示关键字notfound。我用的是and and or,而不是xor
为什么不能直接支持?

monwx1rj

monwx1rj1#

MySQL5.5+正式支持xor。
参考1参考2

edqdpe6u

edqdpe6u2#

XOR 不是sql标准的一部分。现在不是,从来没有过。原因可能是因为逻辑对于“业务”用户来说并不明显。
你可以很容易地表达出来:

where (x or y) and not (x and y)
xwbd5t1u

xwbd5t1u3#

尽管 XOR 不是标准sql语法的一部分,根据其定义:

a XOR b = (a AND NOT b) OR (NOT a AND b)

如果需要,可以在sql语句中的任何位置使用它,例如:

SELECT * FROM tablename WHERE (a AND NOT b) OR (NOT a AND b)

相关问题