Android SQLite проблема - PullRequest
       3

Android SQLite проблема

0 голосов
/ 26 ноября 2010

Я сохранил дату в качестве первичного ключа в базе данных SQLite (формат MM / DD / YYYY), когда я выбираю дату в порядке DESC, она не выбирается в правильном порядке, т.е. вместо

26NOV2010

25NOV2010

26NOV2009

25NOV2009

это такая печать

26NOV2010

26NOV2009

25NOV2010

25NOV2009

PLZ предоставляет некоторый указатель для сохранения даты в правильном формате и извлечения в порядке убывания.

благодарю вас

1 Ответ

2 голосов
/ 26 ноября 2010

SQLite обрабатывает ваши даты как строки, просто сортируя их так, как если бы они сортировали строки. SQLite не имеет определенного типа данных для DATE. Вам необходимо хранить значения даты в соответствии с функциями даты / времени SQLite.

Из документации по SQLite: SQLite не имеет класса хранения, выделенного для хранения дат и / или времени. Вместо этого встроенные функции даты и времени в SQLite могут хранить даты и время в виде значений TEXT, REAL или INTEGER:

* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. 

Приложения могут сохранять даты и время в любом из этих форматов и свободно конвертировать между форматами, используя встроенные функции даты и времени. Как Unix Time, количество секунд с 1970-01-01 00:00:00 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ.

См. Типы данных в SQLite версии 3 и Функции даты и времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...