我想按缓存名称对通话记录进行排序。缓存的名称可以为空。因此,在缓存名称为空的情况下,我希望获得别名的电话号码。
在 sqlite 中,有 ifnull() 函数。 ifnull 详细信息
我尝试:
String[] projections = new String[] { Calls._ID, Calls.NUMBER, Calls.DATE, Calls.TYPE, Calls.DURATION, "ifnull("+Calls.CACHED_NAME+","+Calls.NUMBER+") as display_name" };
Cursor cursor_call = ctx.getContentResolver().query(URI_CALL_LOGS,
projections,
null,
null,
null);
但是我在使用 ifnull 时出错,我没有找到这个函数的样本。
java.lang.IllegalArgumentException:无效列 ifnull(name,number) as display_name