2012-05-05 30 views
25

我的应用程序有一个SQLite数据库,其中一些字段为空或空(意味着我从来没有插入任何东西到该字段)。Android的SQLite - 选择字段为空或空的地方的记录

我希望选择该字段为空或空的所有记录。

这是我曾尝试:

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

但没有工作,我没有得到任何记录。我需要做些什么来完成这项工作?

回答

58

尝试

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

完美,10X :)我会尽快接受答案。 –

+0

没有提供的答案阐明了“folder_name = <空字符串>”是否真的有必要或矫枉过正。你是唯一一个使用IS NULL和空字符串检查一次,所以你可以澄清为什么双重检查(或者如果它是预防性的)? – leRobot

+0

问题是如何选择'folder_name'为'null'或空的记录。我假设'空'是'空字符串'的缩写。如果我错了,我仍然会提出一个预防性的空字符串检查。 – Rayne

2

只要使用 “FOLDER_NAME为空”

+4

你应该在你的答案提供更多的细节。这假定OP理解你的意思。考虑添加一个示例以使您的答案更高质量。 – jmort253

10
db.rawQuery("SELECT * FROM myTable WHERE myColumn IS NULL", null);