sqlite 쿼리문에서, null을 선택할려면 어떻게 해야하나요...?

klara의 이미지

예를 들어 list라는 테이블의 구조가 (str1, str2, str3) 이렇게 되있을때

str2가 null인 행을 선택할려고 하는데요...

select * from list where str2 = null;

이라고 쳐봤더니 아무것도 선택이 안되네요.

null을 선택하기 위해서는 뭔가 다른 방법을 이용해야 하나요? 아니면 null은 선택할수가 없는건가요...?

s9712094의 이미지

sqlite는 다루어 본적이 없지만, 통밥으로...
select * from list where str2 is null
이 아닐까요?
=====================================================================
s9712094@gmail.com
http://cliff3.tistory.com/

지구본을 보면 우리 사는 지군 둥근데,
부속품들은 왜 다 온통 네모난건지 몰라...
어쩌면 그건 네모의 꿈일지 몰라.
네모의 꿈-화이트3집 中에서

=================
Have a nice day! :-)
Google Talk : s9712094
iChat : s9712094
http://www.facebook.com/joonho78
http://twitter.com/JoonHoSon
=================

klara의 이미지

오... 'is'를 이용하는 것이군요.

sql은 제대로 공부한적이 없고, 걍 지금 만드는 프로그램에서 대량의 자료에서 검색하기 위한 정도로 쓰기위해 sqlite를 넣은거라, 아직 지식이 많이 부족하네요.

답변감사합니다.

fjoker의 이미지

혹시 string 이라면
select * from list where str2 = '';
으로 될지도..

익명 사용자의 이미지

NULL과 empty string을 동일하게 취급하는 것은 오라클만의 변태적인 문법입니다. SQL 표준에서는 이 둘을 구분하는 것으로 알고 있습니다.

sqlite는 안써봐서 모르지만 개발자가 오라클 빠돌이가 -_- 아닌 한 SQL 표준을 따랐을 것 같다는 생각이 드네요...

eminency의 이미지

sqlite에서는 둘을 다르게 취급합니다.

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

klara의 이미지

eminency님의 말씀대로 sqlite에서는 ''과 null은 다른걸로 나옵니다.

아무튼, 답변 달아주신 분 모두 답변 감사합니다.