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

如果我在我的sql中使用xor关键字它显示 keyword notfound. 而不是xor我正在使用 AND and OR

为什么它不能直接支持?

回答(3)

2 years ago

使用MySQL 5.5,正式支持XOR .

Reference 1 Reference 2

2 years ago

XOR 不是SQL标准的一部分 . 现在不是,也不是 . 原因可能是因为"business"用户的逻辑并不明显 .

你可以很容易地表达它:

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

2 years ago

虽然 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)