如何编写条件A或B为零,但在MYSQL中两者都不为零?

时间:2013-11-01 07:43:52

标签: mysql sql select

以下SQL语句的正确语法是什么?

SELECT * FROM TABLE WHERE (A = 0 AND B != 0) OR (A!=0 AND B=0) 

由于

更新:负面案例怎么样?我想检查A或B是否为非零,但两者都不为非,谢谢

SELECT OperateProductId FROM DPS_UserLoginStatus Where OperateProductId <> 0 XOR OperateIssueId <> 0

1 个答案:

答案 0 :(得分:3)

您正在寻找XOR逻辑运算符:

SELECT * FROM TABLE WHERE A = 0 XOR B = 0

就其他运营商而言,a XOR b(按位而非逻辑使用时通常a ^ b)相当于(a and !b) or (b and !a)。它也相当于:(a or b) and (!a or !b)。在英语中,它正是您所寻找的:a xor b当且仅当ab为真但两者都不为真时才为真。