Запрос к SQLite сортировка по дате

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

Запрос к SQLite сортировка по дате

Сообщение snowkam » 24 сен 2013, 14:54

Всем добрый день
Есть база данных в ней поле date_s тип у поля DATE

хотел отсортировать по дате в обратном порядке!
формирую запрос mDB.query(DB_TABLE_SOBITIE, null, null, null, null, null, "date_s DESC")

Но оно сортируется только по дню

26.9.2013
25.9.2013
24.9.2014
23.9.2013

А у вас как сортируется?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Запрос к SQLite сортировка по дате

Сообщение KamiSempai » 24 сен 2013, 15:14

Это по тому, что дата сохраняется как строка, и сортируется тоже как строка.
Если дата будет в формате YYYY-MM-DD от сортируется как надо.

PS: Я обычно храню дату в целочисленном формате как количество миллисекунд. В таком формате можно делать сортировку и лично мне так на много удобнее.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

Re: Запрос к SQLite сортировка по дате

Сообщение snowkam » 24 сен 2013, 15:29

KamiSempai писал(а):Это по тому, что дата сохраняется как строка, и сортируется тоже как строка.
Если дата будет в формате YYYY-MM-DD от сортируется как надо.

PS: Я обычно храню дату в целочисленном формате как количество миллисекунд. В таком формате можно делать сортировку и лично мне так на много удобнее.
А какие методы преобразует целое в дату и обратно?

А может быть ввести еще одну колонку где дату вести в миллисекундах и его сортировать ?! (это так мысли в слух)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Запрос к SQLite сортировка по дате

Сообщение Foenix » 24 сен 2013, 15:55

нужно использовать класс Calendar для преобразований.
Можно, конечно, еще одну колонку, но можно и в коде преобразование делать для показа с помощью упомянутого класса.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

snowkam
Сообщения: 162
Зарегистрирован: 21 мар 2013, 11:22

Re: Запрос к SQLite сортировка по дате

Сообщение snowkam » 24 сен 2013, 16:09

да да спасибо я так и сделал.
try {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse(date_format);
Calendar c = Calendar.getInstance();
c.setTime(date);
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);

} catch (ParseException e) {
e.printStackTrace();
}

Ответить