30

私のアプリケーションにはsqliteDBがあり、一部のフィールドがnullまたは空です(つまり、そのフィールドに何も挿入していません)。

フィールドがnullまたは空であるすべてのレコードを選択したいと思います。

これは私が試したことです:

cursor = db.query(DBHelper.TABLE_NAME, COLUMNS, "folder_name = ? ", new String[] {"null"}, null, null, DBHelper.TIMESTAMP_COL + " DESC");

しかし、それはうまくいきませんでした、そして私は何の記録も得られませんでした。これを機能させるには何をする必要がありますか?

4

4 に答える 4

68

試す

cursor = db.query(DBHelper.TABLE_NAME, COLUMNS, "folder_name is null or folder_name = ?", new String[] {""}, null, null, DBHelper.TIMESTAMP_COL + " DESC");
于 2012-05-05T19:10:28.720 に答える
12
db.rawQuery("SELECT * FROM myTable WHERE myColumn IS NULL", null);
于 2012-05-05T19:35:10.320 に答える
2

「folder_nameisnull」を使用するだけです

于 2012-05-05T19:09:25.253 に答える
2

私はandroidstudio3.4、Room2.1.0-alpha07を使用しています

これは私のKotlinコード
です。 これを使用してみましたが、期待どおりに機能しませんでした。

`@Query("SELECT *FROM notifications WHERE status=:status OR status = null")`   

これは正常に動作しています

@Query("SELECT *FROM notifications WHERE status=:status OR status is null")
于 2019-05-08T09:17:06.840 に答える