깜짝 놀랐다. 실컷 query 짜고 돌렸는데 null이 안나와서. 만약 대규모 데이터를 조회하는 거였다면 놓칠 수도 있었을 것이다.
In의 함정
hobby in (null, '낚시')
하게 될 경우 null은 결과에 포함되지 않는다. 풀어보면
hobby = null or hobby = '낚시'
인데 null은 '='으로 평가되지 않고 'is null'또는 'is not null'로 평가되기 때문이다. 'hobby = null'은 항상 false이다.
Not In의 함정
hobby not in (null, '낚시')
하게 될 경우 결과로 아무것도 나오지 않는다. in 과 마찬가지로 null 은 '='로 평가할 수 없고 '='로 할경우 항상 false를 리턴하기 때문이다.
#[Oracle] <> != 는 같은 표현식
xml 에서 <> 표현식이 지원 안할땐 != 요렇게 써주자
'programming > Experience' 카테고리의 다른 글
오라클 group by에서 null은 집계되지 않음 (0) | 2020.01.23 |
---|---|
아이폰 scroll시 resize (0) | 2020.01.23 |
외부 서비스 응답시 "null"이 있을 수도 있다. with 소셜회원가입 (0) | 2020.01.23 |
아이폰에서 iframe 동작 이상 (0) | 2019.09.12 |
모바일에서 클릭 효과 전파 (0) | 2019.05.30 |
댓글