为什么在MySQL中不支持xor关键字?

时间:2018-12-10 11:51:58

标签: mysql sql

如果我在SQL中使用xor关键字,则会显示找不到关键字。 相反,我使用的是 AND和OR

为什么不能直接支持?

3 个答案:

答案 0 :(得分:3)

在MySQL 5.5+中,正式支持XOR。

Reference 1 Reference 2

答案 1 :(得分:2)

XOR不是SQL标准的一部分。现在不是现在,而且从来没有。原因可能是因为逻辑对于“业务”用户而言并不明显。

您可以很轻松地表达它:

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

答案 2 :(得分:0)

尽管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)