본문 바로가기
DB/DB 문법

!= NULL, <> NULL, IS NOT NULL 차이

by oneny 2023. 5. 19.

!=, <>, IS NOT 차이

의미상으로는 같지 않다를 나타내어 모두 동일한 결과를 반환할 것이라고 생각할 수 있다.

 

하지만,,

!=, <>, IS NOT에는 타입 비교 대상의 범위 차이가 있다.

!=<> 연산자는 동일한 기능을 하며 원시 타입(Primitive Type)에 대해서만 동작하고,

IS NOT NULL모든 타입에 대해 동작한다.

 

!=, <>, IS NOT NULL 예시

 

!= NULL을 사용한 경우

SELECT delv_msg FROM table WHERE delv_msg != NULL;

!= NULL을 사용한 경우에는 출력한 레코드가 없는 것을 확인할 수 있다. <>와는 동일한 기능을 하기 때문에 <>는 넘어가겠다.

 

IS NOT NULL을 사용한 경우

SELECT delv_msg FROM table WHERE delv_msg IS NOT NULL;

IS NOT NULL을 사용한 경우에는 delv_msg 컬럼이 NULL인 아닌 레코드들을 반환한 것을 확인할 수 있다.

 

결론은 NULL이 아닌지를 비교하려면 무조건 IS NOT NULL 조건식을 사용해야 한다!

그리고 NULL이 아닌 값(varchar, int 등)을 비교하려면 !=, <>를 사용하자.

'DB > DB 문법' 카테고리의 다른 글

뷰(View)  (0) 2023.05.23
TCL(Transaction Control Language)  (0) 2023.05.19
쿼리 실행 순서  (1) 2023.05.18
조건식(Conditional Expressons)  (0) 2023.05.18
쿼리 조회 시 *(asterisk)는 정말 지양해야 할까?  (0) 2023.05.18