티스토리 뷰
PrestoSQL을 포함한 대부분의 SQL 데이터베이스 시스템에서 NULL
은 "알 수 없는 값"을 나타냅니다. 따라서 NULL
과의 비교는 일반적인 비교 연산자(=
, !=
, <>
등)를 사용할 때 항상 알 수 없는 결과(NULL
)를 반환합니다. 즉, NULL
값은 NULL
이 아닌 어떤 값과도 '동등하지 않다'고 할 수 없으며, '동등하다'고도 할 수 없습니다.
예를 들어, p.memo
컬럼의 값이 NULL
일 때 다음 조건을 사용하면:
p.memo != 'ForTest'
이 조건은 FALSE
도 TRUE
도 아닌 NULL
을 반환하게 됩니다. SQL에서 NULL
은 조건문에서 FALSE
와 동일하게 취급되므로, 이 조건을 만족하는 행은 결과에 포함되지 않습니다.
따라서 p.memo
가 NULL
인 경우를 포함하려면 NULL
값에 대한 명시적인 검사가 필요합니다. 예를 들어:
(p.memo IS NULL OR p.memo != 'ForTest')
이렇게 하면 p.memo
컬럼이 NULL
이거나 'ForTest'와 다른 값을 가진 행을 모두 선택할 수 있습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Branch
- LightBox
- directive
- jQuery
- technote
- 전략
- IE
- SQL
- 개발자
- Material
- RESTful
- 테스트
- 클라우드
- SSL
- 테크노트
- 브랜치
- JS
- Ai
- frontend
- NG
- angular
- FLASK
- vuejs
- 미래
- ie11
- 파이썬
- Git
- RUBY
- SVN
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함