0

「部分文字列」でクエリを作成する必要がありますが、適切な記述方法がわかりません。

このクエリがあります

String where2 = SUBSTRING(DatabaseHelper.DATE,0,4) + "=" + "'" + year + "'";

cursor = db.query("PRODUCT", FROM, where2, null, null, null, orderBy);

それの何が問題なのですか?

4

1 に答える 1

0

クラスの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";
于 2013-05-22T18:00:39.840 に答える