如何在 Android 上查询 ContentProvider 的非空值?
How to query a ContentProvider for value that is not null on Android?
我有一个 ContentProvider,我想查询 returns table 的行,其中特定列的值不为空。在 SQL 中,您可以使用 column IS NOT NULL
,但我无法弄清楚 ContentProviders 的等效语句是什么。
到目前为止我已经尝试过:
SQL 类似语法。
getContentProvider().query(uri,
null,
Contract.Table.COLUMN + " is not null",
null,
null);
SQL 类似于带有选择参数的语法。
getContentProvider().query(uri,
null,
Contract.Table.COLUMN + " is not null",
new String[0],
null);
等于实际null
值。
getContentProvider().query(uri,
null,
Contract.Table.COLUMN + " != ?",
new String[]{null},
null);
不等于"null"
字符串。
getContentProvider().query(uri,
null,
Contract.Table.COLUMN + " != ?",
new String[]{"null"},
null);
谢谢!
ContentProvider
不规范。它们中的每一个都可以以任何给定的方式解释查询参数。 (事实上 ,大多数内容提供者根本只使用几个参数。)
我有一个 ContentProvider,我想查询 returns table 的行,其中特定列的值不为空。在 SQL 中,您可以使用 column IS NOT NULL
,但我无法弄清楚 ContentProviders 的等效语句是什么。
到目前为止我已经尝试过:
SQL 类似语法。
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", null, null);
SQL 类似于带有选择参数的语法。
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", new String[0], null);
等于实际
null
值。getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{null}, null);
不等于
"null"
字符串。getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{"null"}, null);
谢谢!
ContentProvider
不规范。它们中的每一个都可以以任何给定的方式解释查询参数。 (事实上 ,大多数内容提供者根本只使用几个参数。)