以下 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
您正在寻找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
当且仅当其中一个a
或b
为真但两者都不为真时为真。