- 카테고리:
BOOLOR¶
두 숫자 식의 부울 OR를 계산합니다. 부울 의미 체계에 따라:
0이 아닌 값(음수 포함)은 True로 간주됩니다.
0 값은 False로 간주됩니다.
결과적으로 함수는 다음을 반환합니다.
두 식이 모두 0이 아니거나, 한 식이 0이 아니고 다른 식은 0 또는 NULL인 경우
True.두 식이 모두 0인 경우
False.두 식이 모두 NULL이거나, 한 식이 NULL이고 다른 식은 0인 경우
NULL.
구문¶
BOOLOR( <expr1> , <expr2> )
인자¶
expr1숫자 식입니다.
expr2숫자 식입니다.
반환¶
이 함수는 BOOLEAN 타입 또는 NULL 값을 반환합니다.
사용법 노트¶
이 함수는 :ref:`부동 소수점 숫자<label-data_types_for_floating_point_numbers>`를 반올림합니다. 따라서 0이 아닌 부동 소수점 숫자를 0으로 반올림할 때 예기치 않은 결과를 반환할 수 있습니다.
이 동작과 해결 방법의 예는 부동 소수점 숫자에 대한 부울 OR 결과 계산 섹션을 참조하세요.
예¶
다음 예제에서는 BOOLOR 함수를 사용합니다.
정수 및 NULL 값에 대해 부울 OR 결과 계산¶
다음 쿼리는 정수 및 NULL 값에 대해 부울 OR 결과를 계산합니다.
SELECT BOOLOR(1, 2),
BOOLOR(0, 2),
BOOLOR(3, NULL),
BOOLOR(0, 0),
BOOLOR(NULL, 0),
BOOLOR(NULL, NULL);
+--------------+--------------+-----------------+--------------+-----------------+--------------------+
| BOOLOR(1, 2) | BOOLOR(0, 2) | BOOLOR(3, NULL) | BOOLOR(0, 0) | BOOLOR(NULL, 0) | BOOLOR(NULL, NULL) |
|--------------+--------------+-----------------+--------------+-----------------+--------------------|
| True | True | True | False | NULL | NULL |
+--------------+--------------+-----------------+--------------+-----------------+--------------------+
부동 소수점 숫자에 대한 부울 OR 결과 계산¶
다음 예에서는 함수가 0으로 반올림되는 부동 소수점 숫자에 대해 예기치 않은 결과를 반환하는 방법을 보여줍니다.
다음 쿼리의 경우 :code:`True`의 결과는 다음 함수 호출에 대해 예상될 수 있지만, 이 함수가 0이 아닌 부동 소수점 값을 0으로 반올림하기 때문에 :code:`False`를 반환합니다.
SELECT BOOLOR(0.4, 0.3);
+------------------+
| BOOLOR(0.4, 0.3) |
|------------------|
| False |
+------------------+
SELECT BOOLOR(-0.4, 0.3);
+-------------------+
| BOOLOR(-0.4, 0.3) |
|-------------------|
| False |
+-------------------+
다음 쿼리의 경우 :code:`True`의 결과는 다음 함수 호출에 대해 예상될 수 있지만, :code:`NULL`을 반환합니다.
SELECT BOOLOR(0.4, NULL);
+-------------------+
| BOOLOR(0.4, NULL) |
|-------------------|
| NULL |
+-------------------+
SELECT BOOLOR(-0.4, NULL);
+--------------------+
| BOOLOR(-0.4, NULL) |
|--------------------|
| NULL |
+--------------------+
필요한 경우 함수 대신 :doc:`OR 논리 연산자</sql-reference/operators-logical>`를 사용하여 부동 소수점 값에 대한 이 반올림 동작을 해결할 수 있습니다. 예를 들어, 다음 쿼리는 :code:`True`를 반환합니다.
SELECT 0.4 OR 0.3;
+------------+
| 0.4 OR 0.3 |
|------------|
| True |
+------------+