SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Classificando datas no banco de dados sqlite?


No sqlite realmente não tem um tipo de data. Você pode armazenar datas como strings usando um de seus formatos predefinidos, consulte http://www.sqlite.org/lang_datefunc.html para obter mais informações.

Uma string de tempo pode estar em qualquer um dos seguintes formatos:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD

Você precisa armazená-los em YYYY-MM-DD, então você pode classificá-los por ordem asc limit 1 para obter a data mais antiga.
Column_Date
------------
Nov-07-2012
Nov-21-2012
Nov-25-2012
Oct-25-2012
Oct-24-2102

Você terá que armazená-los assim
Column_Date
------------
2012-11-07
2012-11-21
2012-11-25
2012-10-25
2012-10-24

Finalmente você lê as linhas se houver
Cursor oldestDateCursor = db.query("DateTableName", null, null, null, null, null, "date_column ASC LIMIT 1");
if (oldestDateCursor.moveToFirst())
{
    String date = oldestDateCursor.getColumnName(oldestDateCursor.getColumnIndex("date_column"));
}
oldestDateCursor.close();