私はdueDatesの列を含むタスクのテーブルを持つSQLiteデータベースを持っています。私は明日の日付の後にある日付を除外したいと思います。明日以降の行数を取得する方法は?
明日の日付が4月29日の場合、明日の後の日付を取得する必要があります。私は明日の後の仕事の数を取得したい。
このため、私は文字列を日付に変換しました。形式は次のとおりです。
Calendar calendar = Calendar.getInstance();
dateToday = calendar.getTime();
SimpleDateFormat df = new SimpleDateFormat("d MMM yyyy");
dueDateToday = df.format(dateToday);
calendar.add(Calendar.DAY_OF_YEAR, 1);
dueTomorrow = calendar.getTime();
dueDateTomorrow = df.format(dueTomorrow);
とクエリは次のとおりです。
public int getPendingTasksLaterDays(String tomorrow) {
ArrayList<Task> conList = new ArrayList<Task>();
String selectQuery = "SELECT * FROM " + TASK_TABLE + " WHERE " + KEY_TASK_STATUS + " = 1" + " AND " + KEY_DUE_DATE + " > '" + tomorrow + "'" ;
SQLiteDatabase db = this.getWritableDatabase();
Cursor mCount= db.rawQuery(selectQuery,null);
if (mCount.moveToFirst()) {
do {
count = mCount.getInt(0);
} while (mCount.moveToNext());
}
Log.d("query",selectQuery);
Log.d("count",String.valueOf(count));
mCount.close();
return count;
}
しかし、クエリが私のために働いていません。私が得た数は0です。 私は間違って何をしていますか?
のSQLiteを必要とせず
getCount
方法でカーソルからの結果の数を得ることができることも言及する価値があります。 [SQLiteドキュメント](https://www.sqlite.org/lang_datefunc.html)のTime Stringsセクションを参照してください –