我正在使用SQLite来检索我正在开发的iOS应用程序中的数据。
我在客户端给出的数据集中有很多条目,而不是包含NULL值的列。
我想确保将其过滤掉,以免它们显示在应用中。
我尝试了各种不同的语法组合,没有任何乐趣,它们仍然会出现。
这是我当前的SQL
select * from bn_main order by RANDOM() LIMIT 1
我需要它来查看'含义'列并执行WHERE来识别,从而删除该列中具有NULL值的任何条目。
任何人都可以提供帮助吗?
答案 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;