【发布时间】:2011-08-25 19:24:20
【问题描述】:
我有一个带有 1 个表和该表中的 4 列的 sqlite 数据库。这些列之一是可选的,并且可能包含 NULL 值。如果此列为空,我想获取其他 3 列中的值。
例如,
column 1 column 2 column 3 column4
a b d
e f g h
i j l
我想在 sqlite 方面实现的是:
SELECT column1 WHERE column3 IS NULL;
由于 IS NULL 在 SQLite 中不起作用,我不知道如何实现这一点。我是一名 iOS 开发人员,几乎没有数据库知识。任何帮助将不胜感激。
UPDATE1:@rptwsthi 建议在第 3 列中包含默认值,这肯定会解决我的问题。但是,我认为在创建数据库时必须这样做,对吗?或者这可以通过其他方式完成吗?
UPDATE2:我确实参考了有关 IS NULL 和 IS NOT NULL 的 SQLite 文档。但只有 IS NOT NULL 返回值, IS NULL 不起作用。它甚至不会引发错误。
UPDATE3:当我没有值时,我在第 3 列中看到。我也在使用终端命令。所以我的代码是
SELECT column1 WHERE column3 IS NULL;
问候, 爱视
【问题讨论】:
-
这是一个建议,为您的 column3 添加一个默认值并根据该值运行查询。
-
根据 SQLite 主页上的this article,SQLite 确实支持
IS NULL和IS NOT NULL... 是什么让你不这么认为? -
我在来这里之前确实参考了该链接,但遗憾的是,IS NULL 不起作用,只有 IS NOT NULL 才起作用。我在我的数据库和其他一些论坛中看到了这一点。
-
你确定你的列真的是
NULL而不是空字符串吗? -
@omz 请参阅更新 3。它显示为
代替空列条目。所以我认为它是空的。
标签: iphone objective-c ios sqlite isnull