- 카테고리:
BOOLXOR¶
두 숫자 표현식의 부울 XOR를 계산합니다. 즉, 부울 의미 체계에 따라 두 표현식 모두가 아니라 그중 하나가 true입니다.
0이 아닌 값(음수 포함)은 True로 간주됩니다.
0 값은 False로 간주됩니다.
결과적으로 함수는 다음을 반환합니다.
한 식이 0이 아니고 다른 식은 0인 경우
True.두 식이 모두 0이 아니거나 두 식이 모두 0인 경우
False.식 하나 또는 둘 모두가 NULL인 경우
NULL.
구문¶
인자¶
expr1숫자 식입니다.
expr2숫자 식입니다.
반환¶
이 함수는 BOOLEAN 타입 또는 NULL 값을 반환합니다.
사용법 노트¶
이 함수는 :ref:`부동 소수점 숫자<label-data_types_for_floating_point_numbers>`를 반올림합니다. 따라서 0이 아닌 부동 소수점 숫자를 0으로 반올림할 때 예기치 않은 결과를 반환할 수 있습니다.
이 동작과 해결 방법의 예는 부동 소수점 숫자에 대한 부울 XOR 결과 계산 섹션을 참조하세요.
예¶
다음 예제에서는 BOOLXOR 함수를 사용합니다.
정수 및 NULL 값에 대해 부울 XOR 결과 계산¶
다음 쿼리는 정수 및 NULL 값에 대해 부울 XOR 결과를 계산합니다.
부동 소수점 숫자에 대한 부울 XOR 결과 계산¶
다음 예에서는 함수가 0으로 반올림되는 부동 소수점 숫자에 대해 예기치 않은 결과를 반환하는 방법을 보여줍니다.
다음 쿼리의 경우 :code:`False`의 결과는 다음 함수 호출에 대해 예상될 수 있지만, 이 함수가 0이 아닌 부동 소수점 값을 0으로 반올림하기 때문에 :code:`True`를 반환합니다.
마찬가지로 다음 함수 호출에 대해 True 결과가 예상될 수 있지만, :code:`False`이 반환됩니다.
필요한 경우 CEIL 함수를 사용하여 양수 부동 소수점 값에 대한 이 반올림 동작을 해결할 수 있습니다. 예를 들어, 다음 쿼리는 :code:`False`를 반환합니다.
음수 부동 소수점 값의 경우 FLOOR 함수를 사용하여 이 반올림 동작을 해결할 수 있습니다. 예를 들어, 다음 쿼리는 :code:`False`를 반환합니다.