티스토리 뷰

!=, <>, 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함