2010-11-26 3 views
0

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

26NOV2010

25NOV2010

26NOV2009

25NOV2009

он печатает как то

26NOV2010

26NOV2009

25NOV2010

25NOV2009

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

благодаря вам

ответ

2

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

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

* 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 UTC.

См. Datatypes In SQLite Version 3 и Date And Time Functions

Смежные вопросы