- 카테고리:
BOOLNOT¶
단일 숫자 식의 부울 NOT을 계산합니다. 부울 의미 체계에 따라:
Non-zero values, including negative numbers, are regarded as true.
Zero values are regarded as false.
결과적으로 함수는 다음을 반환합니다.
식이 0인 경우
True.식이 0이 아닌 경우
False.식이 NULL인 경우
NULL.
구문¶
BOOLNOT( <expr> )
인자¶
expr숫자 식입니다.
반환¶
이 함수는 BOOLEAN 타입 또는 NULL 값을 반환합니다.
사용법 노트¶
이 함수는 :ref:`부동 소수점 숫자<label-data_types_for_floating_point_numbers>`를 반올림합니다. 따라서 0으로 반올림되는 부동 소수점 숫자에 대해 예기치 않은 결과를 반환할 수 있습니다.
이 동작과 해결 방법의 예는 부동 소수점 숫자에 대한 부울 NOT 결과 계산 섹션을 참조하세요.
예¶
다음 예제에서는 BOOLNOT 함수를 사용합니다.
정수 및 NULL 값에 대해 부울 NOT 결과 계산¶
다음 쿼리는 정수 및 NULL 값에 대해 부울 NOT 결과를 계산합니다.
SELECT BOOLNOT(0),
BOOLNOT(10),
BOOLNOT(NULL);
+------------+-------------+---------------+
| BOOLNOT(0) | BOOLNOT(10) | BOOLNOT(NULL) |
|------------+-------------+---------------|
| True | False | NULL |
+------------+-------------+---------------+
부동 소수점 숫자에 대한 부울 NOT 결과 계산¶
다음 예에서는 함수가 0으로 반올림되는 부동 소수점 숫자에 대해 예기치 않은 결과를 반환하는 방법을 보여줍니다.
다음 쿼리의 경우 :code:`False`의 결과는 다음 함수 호출에 대해 예상될 수 있지만, 이 함수가 0이 아닌 부동 소수점 값을 0으로 반올림하기 때문에 :code:`True`를 반환합니다.
SELECT BOOLNOT(0.3);
+--------------+
| BOOLNOT(0.3) |
|--------------|
| True |
+--------------+
SELECT BOOLNOT(-0.4);
+---------------+
| BOOLNOT(-0.4) |
|---------------|
| True |
+---------------+
필요한 경우 CEIL 함수를 사용하여 양수 부동 소수점 값에 대한 이 반올림 동작을 해결할 수 있습니다. 예를 들어, 다음 쿼리는 :code:`False`를 반환합니다.
SELECT BOOLNOT(CEIL(0.3));
+--------------------+
| BOOLNOT(CEIL(0.3)) |
|--------------------|
| False |
+--------------------+
음수 부동 소수점 값의 경우 함수 대신 :doc:`NOT 논리 연산자</sql-reference/operators-logical>`를 사용하여 이 반올림 동작을 해결할 수 있습니다. 예를 들어, 다음 쿼리는 :code:`False`를 반환합니다.
SELECT NOT -0.4;
+----------+
| NOT -0.4 |
|----------|
| False |
+----------+