티스토리 뷰
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
- 클라우드
- vuejs
- SVN
- 전략
- frontend
- 파이썬
- 개발자
- FLASK
- SQL
- JS
- 브랜치
- LightBox
- RESTful
- Material
- 미래
- jQuery
- SSL
- angular
- RUBY
- directive
- IE
- Python
- NG
- 테크노트
- Ai
- 테스트
- Git
- ie11
- Branch
- technote
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함