T-SQL XOR 연산자
SQL Server(T-SQL)에 XOR 연산자 또는 이와 동등한 기능이 있습니까?
다음을 위한 캐럿(^)이라는 비트 단위의 XOR 연산자가 있습니다.
SELECT 170 ^ 75
결과는 225입니다.
논리적 XOR의 경우 ANY 키워드를 사용하고 모두 사용하지 않습니다.
WHERE 5 > ANY (SELECT foo) AND NOT (5 > ALL (SELECT foo))
부울 대수를 사용하면 다음을 쉽게 알 수 있습니다.
A xor B = (not A and B) or (A and not B)
A B | f = notA and B | g = A and notB | f or g | A xor B
----+----------------+----------------+--------+--------
0 0 | 0 | 0 | 0 | 0
0 1 | 1 | 0 | 1 | 1
1 0 | 0 | 1 | 1 | 1
1 1 | 0 | 0 | 0 | 0
Spacemoses라는 귀하의 의견에서 명확히 설명했듯이, 귀하는 예를 들어 WHERE(참고는 null)^(ID는 null)이라고 말했습니다.저는 당신이 왜 여기에 주어진 답변을 그것에 대한 답변으로 받아들이기로 선택했는지 모르겠습니다.만약 x 또는 이를 위해 필요하다면 AND/OR 동등한 논리를 사용해야 할 것 같습니다.
WHERE (Note is null and ID is not null) OR (Note is not null and ID is null)
이는 다음과 같습니다.
WHERE (Note is null) XOR (ID is null)
'XOR'을(를) 사용할 수 없는 경우.
MS SQL은 SQL Server 2012 이후의 짧은 형식만 지원합니다.
1=iif( a=b ,1,0)^iif( c=d ,1,0)
xor 연산자는^
예:SELECT A ^ B
여기서 A와 B는 정수 범주 데이터 유형입니다.
그렇다.^
http://msdn.microsoft.com/en-us/library/ms190277.aspx
참고 항목페이지 중간의 일부 코드Bitwise NOT 연산자를 사용하여 SQL Server에서 비트를 전환하는 방법
<>
일반적으로 불리언에 적용할 수 있는 XOR의 좋은 대체물입니다.
귀하의 의견에서:
예: WHERE(참고가 null임) ^(ID가 null임)
시도해 볼 수도 있습니다.
where
(case when Note is null then 1 else 0 end)
<>(case when ID is null then 1 else 0 end)
언급URL : https://stackoverflow.com/questions/5411619/t-sql-xor-operator
'programing' 카테고리의 다른 글
Python openpyxl data_only=True 반환 없음 (0) | 2023.06.21 |
---|---|
SQL Server: 트리거가 활성화되었는지 비활성화되었는지 확인합니다. (0) | 2023.06.21 |
setTag() getTag() View 메서드의 주요 목적은 무엇입니까? (0) | 2023.06.21 |
열(GridView)을 숨기면서 해당 값에 액세스하는 방법은 무엇입니까? (0) | 2023.06.21 |
after_create와 after_save의 차이점은 무엇이며 어떤 것을 사용해야 합니까? (0) | 2023.06.21 |