「部分文字列」でクエリを作成する必要がありますが、適切な記述方法がわかりません。
このクエリがあります
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";