Как выбрать данные между двумя диапазонами дат в Android SQLite - PullRequest
7 голосов
/ 11 марта 2012

У меня есть таблица, которая содержит данные наряду с созданной на дату.Я хочу выбрать данные из таблицы в соответствии с двумя заданными диапазонами дат или одного конкретного месяца.

Я не уверен, как это сделать, так как созданный в столбце тип текста и хранится как дд-ММ-гггг ЧЧ: мм: сс

Я использую rawQuery () для извлечения данных.

Ответы [ 2 ]

15 голосов
/ 11 марта 2012

Вы можете сделать что-то вроде этого:

 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, которые попадают в этот диапазон.

0 голосов
/ 11 июня 2017

Вот некоторые полезные

 //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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...