Hue에서 != null
조건문이 의도한 대로 동작하지 않았다.
특정 id가 null
이 아닌 데이터를 검출하고 싶었지만 아래처럼 쿼리를 사용하니 결괏값이 제대로 조회되지 않았다. <>
연산자도 마찬가지였다.
select *
from table_a
where id != null -- <> 조건문 또한 동작하지 않음
그런데 is not
연산자를 사용했더니 결과가 제대로 나왔다.
select *
from table_a
where id is not null
<>
와 !=
는 동일한 역할을 한다고 알고 있었는데 이처럼 다르게 동작하는 경우가 있는 것 같아서 알아보았다.
is not
과 !=
은 타입 비교 대상의 범위가 차이가 있다.
!=
와 <>
연산자는 원시 타입(Primitive type)에 대해서만 동작하고 is not null
은 모든 타입에 대해 동작한다.
null
은 원시 타입이 아니기 때문에 A != null
은 정상적으로 동작하지 않았던 것이다.
null
을 검사할 때에는 is not null
조건식을 사용하도록 하자.
※ 본문 중 잘못된 부분이 있으면 댓글로 알려주시면 감사하겠습니다. :)
[Architecture] 이벤트 버스 패턴(Event bus pattern) 정리 (0) | 2020.01.13 |
---|---|
[OpenShift] 오픈시프트 간단한 소개 / 장점 / 아키텍처 정리 (0) | 2020.01.10 |
[Docker] Windows 10에 Docker 설치하고 실행하기 (1) | 2019.11.23 |
[Docker] Window 10 설치 중 Hyper-V and Containers features are not enabled 에러 발생시 (0) | 2019.11.23 |
[트러블 슈팅] javascript 에서 null과 날짜값 비교시 문제 (0) | 2019.07.10 |
댓글 영역