以下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
答案 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
当且仅当a
或b
为真但两者都不为真时才为真。