过滤掉SQLite数据库中的NULL条目

时间:2012-03-15 23:22:05

标签: sqlite null

我正在使用SQLite来检索我正在开发的iOS应用程序中的数据。

我在客户端给出的数据集中有很多条目,而不是包含NULL值的列。

我想确保将其过滤掉,以免它们显示在应用中。

我尝试了各种不同的语法组合,没有任何乐趣,它们仍然会出现。

这是我当前的SQL

select * from bn_main order by RANDOM() LIMIT 1

我需要它来查看'含义'列并执行WHERE来识别,从而删除该列中具有NULL值的任何条目。

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:3)

NULL is a special case
这意味着你不能做WHERE meaning <> NULL之类的事情 相反,您可以使用IS / IS NOT,例如:

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

根据评论进行编辑:
如果你已经尝试过并且仍在获得结果,那么你引用的值不是NULL 而是过滤掉包含空格的列:

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