Как выбрать столбцы SQLIte на основе даты из столбца даты - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть база данных SQLite, где я получаю данные из всех столбцов на основе определенной даты, например.30 сентября 2018. Где в COL2 я сохраняю даты в том же формате.

Cursor inc_con_by_dat(String dat) {
    SQLiteDatabase db = this.getWritableDatabase();

    String que = "SELECT * FROM " + TABLE_NAME +
            " WHERE " + COL2 + " = '" + dat + "'";
    return db.rawQuery(que, null);
}

Но теперь у COL2 больше нет формата даты, как 30 сентября 2018 года.потому что я решил также включить время ввода данных в COL2.

Поэтому я сохраняю COL2 в "EEE MMM dd HH: mm: ss Z yyyy" в этом формате.Но я хочу изменить формат «EEE MMM dd HH: mm: ss Z yyyy» на любой, который включает дату и время.Но я хочу выбрать только столбцы с таким примером: «30 сентября 2018» или гггг / мм / дд. Так что кто-нибудь может мне помочь.или мне просто нужно сделать еще один столбец для ввода времени.

1 Ответ

0 голосов
/ 30 сентября 2018

Поэтому я сохраняю COL2 в «EEE MMM dd HH: mm: ss Z гггг» в этом формате

Хватит это делать.SQLite на самом деле не имеет тип столбца даты, что означает, что ваша информация о дате хранится в виде литерального текста.Вместо того, чтобы пытаться обойти вас, я просто порекомендую вам всегда сохранять свои даты и метки времени в SQLite в формате ISO, например:

YYYY-MM-DD HH:MI:SS

Если вы возьмете этосовет, тогда вы легко сможете сравнить другую дату или метку ISO с любой записью в вашей таблице.Например, если вы хотите найти все записи с отметкой времени, которая упала на 2018-09-30, вы можете использовать этот запрос:

SELECT *
FROM yourTable
WHERE ts >= '2018-09-30' AND ts < '2018-10-01';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...