SQLite
 sql >> Database >  >> RDS >> SQLite

Ordinare le date nel database sqlite?

In sqlite non ha davvero un tipo di data. Puoi memorizzare le date come stringhe utilizzando uno dei loro formati predefiniti, consulta http://www.sqlite.org/lang_datefunc.html per ulteriori informazioni.

Una stringa di tempo può essere in uno dei seguenti formati:

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

Devi salvarli in AAAA-MM-GG, quindi puoi ordinarli per limite asc 1 per ottenere la data più vecchia. Quindi invece di

Column_Date
------------
Nov-07-2012
Nov-21-2012
Nov-25-2012
Oct-25-2012
Oct-24-2102

Dovrai invece archiviarli in questo modo

Column_Date
------------
2012-11-07
2012-11-21
2012-11-25
2012-10-25
2012-10-24

Infine leggi le righe se ce ne sono

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();