1

以下 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
4

1 回答 1

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为真但两者都不为真时为真。

于 2013-11-01T07:44:57.783 回答