我正在使用 SQLite 检索我正在开发的 iOS 应用程序中的数据。
在客户提供的数据集中,有很多条目不包含具有 NULL 值的列。
我想确保将它们过滤掉,这样它们就不会显示在应用程序中。
我尝试了各种不同的语法组合,但毫无乐趣,它们仍然不断出现。
这是我当前的 SQL
select * from bn_main order by RANDOM() LIMIT 1
Run Code Online (Sandbox Code Playgroud)
我需要它查看“含义”列并执行 WHERE 来识别并因此删除该列中具有 NULL 值的任何条目。
有人能帮忙吗?
NULL是一种特殊情况。
这意味着你不能做类似的事情WHERE meaning <> NULL。
相反,您可以使用IS/ IS NOT,例如:
select meaning
from bn_main
where meaning IS NOT NULL
order by RANDOM() LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
根据评论进行编辑:
如果您尝试过此操作并且仍然得到结果,则您引用的值不是 NULL。
相反,过滤掉包含空格的列:
select meaning
from bn_main
where TRIM(meaning) <> ''
order by RANDOM() LIMIT 1;
Run Code Online (Sandbox Code Playgroud)