我需要使用“子字符串”进行查询,但我不知道如何正确编写它。
我有这个查询
String where2 = SUBSTRING(DatabaseHelper.DATE,0,4) + "=" + "'" + year + "'";
cursor = db.query("PRODUCT", FROM, where2, null, null, null, orderBy);
它有什么问题?
使用类的substring(int beginIndex, int endIndex)
方法String
。在您的情况下,这看起来像这样:
String where2 = DatabaseHelper.DATE.subString(0, 4) + "=" + "'" + year + "'";
cursor = db.query("PRODUCT", FROM, where2, null, null, null, orderBy);
我假设 DatabaseHelper.DATE 指的是String
.
编辑:
您指的是 SQLite 中的子字符串方法,请使用substr(X,Y,Z)
核心函数的方法。您可以在此列表中查看:http ://www.sqlite.org/lang_corefunc.html
您的where2
字符串将如下所示:
String where2 = "substr(" + DatabaseHelper.DATE + ", 0, 5) ='" + year + "'";
您可能还想为该列加上别名,因为结果将返回一个具有类似名称的列substr
。你可以这样做:
String where2 = "substr(" + DatabaseHelper.DATE + ", 0, 5) ='" + year + "' AS mycolumn";