2012-03-15 3 views
0

SQLite를 사용하여 개발중인 iOS 앱에서 데이터를 검색하고 있습니다.SQLite 데이터베이스에서 NULL 항목 필터링

클라이언트가 제공 한 데이터 세트 중 NULL 값을 가진 열을 포함하는 것보다 많은 항목이 있습니다.

나는 이것들을 필터링하여 앱에 나타나지 않도록하고 싶습니다.

다양한 구문 조합을 사용해 보았지만 아무런 기쁨도없이 계속 나타납니다.

이 나는 ​​그것이 '의미'열에서보고 확인하고, 따라서 해당 컬럼에 NULL 값이있는 모든 항목을 제거하는 WHERE를 수행 할 필요가 내 현재 SQL

select * from bn_main order by RANDOM() LIMIT 1 

입니다.

누구든지 도움을 줄 수 있습니까?

답변

2

NULL is a special case.
즉, WHERE meaning <> NULL과 같은 작업을 수행 할 수 없음을 의미합니다. 의견에 따라

select meaning 
    from bn_main 
    where meaning IS NOT NULL 
order by RANDOM() LIMIT 1; 

편집 : 당신이 시도하고 여전히 결과를 얻는 경우
이 값은 당신이 참조하는 이 널 (NULL)이 아닌
대신 당신은 IS/IS NOT, 예를 들어, 사용합니다 .
대신 공백을 포함하는 열을 필터링 :

select meaning 
    from bn_main 
    where TRIM(meaning) <> '' 
order by RANDOM() LIMIT 1; 
+1

그래 난 이미 /를 IS 시도 방법은 아닙니다 그 값은 여전히 ​​반환되었다. –

관련 문제