1

我有一个 sqlite db,该表中有 1 个表和 4 列。这些列之一是可选的,并且可能包含 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;

问候, iSee

4

2 回答 2

2

SQLite 文档

IS 和 IS NOT 运算符的工作方式与 = 和 != 类似,除非其中一个或两个操作数为 NULL。在这种情况下,如果两个操作数都为 NULL,则 IS 运算符的计算结果为 1(真),而 IS NOT 运算符的计算结果为 0(假)。如果一个操作数为 NULL 而另一个不是,则 IS 运算符的计算结果为 0(假)并且 IS NOT 运算符为 1(真)。

据此,IS NULL在 SQLite 中应该可以正常工作。

于 2011-08-25T11:04:59.650 回答
1

SQLite 确实支持 IS NULL 功能

你能给你在xcode中写查询的代码吗

我在我的 sqllite 中尝试了 IS NULL 并且效果很好..

于 2011-08-25T11:05:24.000 回答