1

私は1つのテーブルとそのテーブルに4つの列を持つsqlite dbを持っています。これらの列の 1 つはオプションであり、NULL 値を含む場合があります。この列が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 開発者です。どんな助けでも大歓迎です。

更新 1: @rptwshi は、列 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 に答える