我是android和SQLite的新手,所以请不要这么严格:)
我需要从db中选择行,其中一些String长度必须是>超过5个符号。
以下是我的代码的一部分:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
mProgressBar.setVisibility(View.VISIBLE);
mProgressBar.start();
return new CursorLoader(
getActivity(),
mUri,
CONTACT_COLUMNS,
mSelection, null, null
);
}
所以我的mSelection
看起来如何?
非常感谢所有建议!
答案 0 :(得分:2)
考虑您要检查列电子邮件的长度,然后查询
Cursor c = db.rawQuery("select * from user where length(email)>5",null);
答案 1 :(得分:2)
如果要选择特定列,例如。名称长度&gt; 5,你可以这样做,
String strSelect = "(("+ NAME + " != '' ) AND ("+"length("+NAME+") > 5 ))" ;
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
mProgressBar.setVisibility(View.VISIBLE);
mProgressBar.start();
return new CursorLoader(
getActivity(),
mUri,
CONTACT_COLUMNS,
strSelect, null, null
);
}
答案 2 :(得分:0)
您可以使用下面给出的代码获取光标
第一个参数是不同的
第二个是表的名称
3rd是String数组,包含您要返回的属性名称
4rth one where where子句
了解更多详情query
Cursor cursor = db.query(true, TABLE_NAME, new String[] {
/* Attributes you want to get seperated by comma */
}, "length(email)>5", null, null, null, null, null);