2016-01-21 163 views
0

我正在寻找SQL Server(T-SQL)中的XOR运算符或等效函数。我有这个在我的查询:SQL Server中的XOR运算符

WHERE 
    CompanyInfo.INSTANCERELATIONTYPE = 41 
    AND (CompanyInfo.DATAAREA = @DataAreaId OR CompanyInfo.DATAAREA = @DataAreaIdDeflt) 

我想将其更改为

WHERE 
    CompanyInfo.INSTANCERELATIONTYPE = 41 
    AND (CompanyInfo.DATAAREA = @DataAreaId XOR CompanyInfo.DATAAREA = @DataAreaIdDeflt) 
+0

'选择1^3 AS XorExample' – Rabbit

回答

-1

AFAIK有在SQL Server没有这样的运营商,你必须把它写出来自己:

WHERE CompanyInfo.INSTANCERELATIONTYPE = 41 
     AND (CompanyInfo.DATAAREA = @DataAreaId OR (CompanyInfo.DATAAREA <> @DataAreaId AND CompanyInfo.DATAAREA = @DataAreaIdDeflt)) 
+0

这是更好地搜索已经首先现有的答案的标准问题对我来说,即使你的答案是正确的。它就在这里。 – cassandrad

+0

@cassandradied,我是一个忙碌的人,我不会为每个我看到的问题寻找谜。如果我看到一个问题,我可以回答,我给我的答案。我认为两个降价是不正确的答案。 – HoneyBadger

+0

此外,我会努力在您的链接中获得接受的答案,以便在此类问题的情况下工作。我认为我的解决方案更容易,更直观 – HoneyBadger