データを含むテーブルが作成されています。私は、指定された2つの日付範囲または1つの特定の月のテーブルに従ってデータを選択します。アンドロイドで2つの日付範囲の間でデータを選択する方法SQLite
私は列に作成され、それを行う方法がわからないですが、テキスト型のものであり、DD-MM-YYYYのHHとして保存されている:mm:ssの
私は、データをフェッチするrawQuery()を使用しています。
データを含むテーブルが作成されています。私は、指定された2つの日付範囲または1つの特定の月のテーブルに従ってデータを選択します。アンドロイドで2つの日付範囲の間でデータを選択する方法SQLite
私は列に作成され、それを行う方法がわからないですが、テキスト型のものであり、DD-MM-YYYYのHHとして保存されている:mm:ssの
私は、データをフェッチするrawQuery()を使用しています。
あなたはこのような何かを行うことができます。日付文字列です
mDb.query(MY_TABLE, null, DATE_COL + " BETWEEN ? AND ?", new String[] {
minDate + " 00:00:00", maxDate + " 23:59:59" }, null, null, null, null);
minDate
とmaxDate
は、あなたの範囲を構成しています。このクエリは、この範囲にあるMY_TABLE
のすべての行を取得します。ここで
はいくつかの便利な
//Get Trips Between dates
public List<ModelGps> gelAllTripsBetweenGivenDates(String dateOne, String dateTwo) {
List<ModelGps> gpses = new ArrayList<>();
SQLiteDatabase database = dbHelper.getReadableDatabase();
final String columNames[] = {DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME, DBHelper.COLUMN_LATITUTE, DBHelper.COLUMN_LONGITUDE, DBHelper.COLUMN_ALTITUDE, DBHelper.COLUMN_DATE, DBHelper.COLUMN_TYPE, DBHelper.COLUMN_TRAVEL, DBHelper.COLUMN_SPEED};
String whereClause = DBHelper.COLUMN_TYPE + " = ? AND " + DBHelper.COLUMN_DATE + " BETWEEN " + dateOne + " AND " + dateTwo;
String[] whereArgs = {"Trip"};
Cursor cursor = database.query(DBHelper.TABLE_NAME_GPS, columNames, whereClause, whereArgs, null, null, DBHelper.COLUMN_NAME + " ASC");
while (cursor.moveToNext()) {
ModelGps gps = new ModelGps();
gps.setId(cursor.getLong(cursor.getColumnIndex(DBHelper.COLUMN_ID)));
gps.setName(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_NAME)));
gps.setLatitude(cursor.getDouble(cursor.getColumnIndex(DBHelper.COLUMN_LATITUTE)));
gps.setLongitude(cursor.getDouble(cursor.getColumnIndex(DBHelper.COLUMN_LONGITUDE)));
gps.setAltitude(cursor.getDouble(cursor.getColumnIndex(DBHelper.COLUMN_ALTITUDE)));
gps.setDate(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_DATE)));
gps.setType(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_TYPE)));
gps.setTravel(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_TRAVEL)));
gps.setSpeed(cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_SPEED)));
gpses.add(gps);
}
database.close();
cursor.close();
return gpses;
}
バディでは、SQLクエリの形式で私を与えることができますか? – kaibuki
'mDb.rawQuery(" + DATE_COL + "BEDWEEN" + minDate + "00:00:00 AND" + maxDate + "23:59:59")からの選択 "+ MY_TABLE +"; –
私は持っています3月11日から3月14日の日付ですが、クエリを使用しているときは、 "created * from createdon between '11 -03-2012 00:00:00 'AND '12 -05-2012 23:59:59'"、私の月は5月に設定されていますが、3月11日と12日のデータしか表示されません:( – kaibuki