BOOLNOT
BOOLNOT
단일 숫자 표현식의 Boolean NOT을 계산하는 조건 표현식 함수예요. Boolean 의미론에 따라 음수를 포함한 0이 아닌 값은 true로, 0 값은 false로 취급돼요.
출처: 공식 문서
본문
단일 숫자 표현식의 Boolean NOT을 계산합니다. Boolean 의미론에 따라:
-
음수를 포함한 0이 아닌 값은 true로 간주됩니다.
-
0 값은 false로 간주됩니다.
그 결과, 함수는 다음을 반환합니다:
-
표현식이 0이면 True.
-
표현식이 0이 아니면 False.
-
표현식이 NULL이면 NULL.
참고 (See also): BOOLAND, BOOLOR, BOOLXOR
구문 (Syntax)
BOOLNOT( <expr> )
인자 (Arguments)
숫자 표현식입니다.
반환값 (Returns)
이 함수는 BOOLEAN 또는 NULL 타입의 값을 반환합니다.
사용 참고 사항 (Usage notes)
이 함수는 부동 소수점 숫자를 반올림합니다. 따라서 0으로 반올림되는 부동 소수점 숫자에 대해 예상치 못한 결과를 반환할 수 있습니다.
이 동작의 예와 해결 방법은 Compute Boolean NOT results for floating-point numbers를 참고하세요.
예제 (Examples)
다음 예제들은 BOOLNOT 함수를 사용합니다.
정수와 NULL 값에 대한 Boolean NOT 결과 계산하기
다음 쿼리는 정수와 NULL 값에 대한 Boolean NOT 결과를 계산합니다:
SELECT BOOLNOT(0),
BOOLNOT(10),
BOOLNOT(NULL);
+------------+-------------+---------------+
| BOOLNOT(0) | BOOLNOT(10) | BOOLNOT(NULL) |
|------------+-------------+---------------|
| True | False | NULL |
+------------+-------------+---------------+
부동 소수점 숫자에 대한 Boolean NOT 결과 계산하기
다음 예제들은 0으로 반올림되는 부동 소수점 숫자에 대해 함수가 예상치 못한 결과를 반환하는 방식을 보여줍니다.
다음 쿼리들에서는 다음 함수 호출들에 대해 False 결과가 예상될 수 있지만, 함수가 0이 아닌 부동 소수점 값을 0으로 반올림하기 때문에 True를 반환합니다:
SELECT BOOLNOT(0.3);
+--------------+
| BOOLNOT(0.3) |
|--------------|
| True |
+--------------+
SELECT BOOLNOT(-0.4);
+---------------+
| BOOLNOT(-0.4) |
|---------------|
| True |
+---------------+
필요하다면 양수 부동 소수점 값에 대해 CEIL 함수를 사용해 이 반올림 동작을 해결할 수 있습니다. 예를 들어 다음 쿼리는 False를 반환합니다:
SELECT BOOLNOT(CEIL(0.3));
+--------------------+
| BOOLNOT(CEIL(0.3)) |
|--------------------|
| False |
+--------------------+
음수 부동 소수점 값에 대해서는 함수 대신 NOT 논리 연산자를 사용해 이 반올림 동작을 해결할 수 있습니다. 예를 들어 다음 쿼리는 False를 반환합니다:
SELECT NOT -0.4;
+----------+
| NOT -0.4 |
|----------|
| False |
+----------+