sql >> Databasteknik >  >> RDS >> SQLite

Sortera datum i SQLite-databasen?

I sqlite har egentligen ingen datumtyp. Du kan lagra datum som strängar med ett av deras fördefinierade format, se http://www.sqlite.org/lang_datefunc.html för mer information.

En tidssträng kan ha något av följande format:

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

Du måste lagra dem i ÅÅÅÅ-MM-DD, sedan kan du sortera dem i ordning efter asc-gräns 1 för att få det äldsta datumet. Så istället för

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

Du måste förvara dem så här istället

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

Slutligen läser du raderna om några

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


  1. Transponera utvalda resultat med Oracle

  2. MySql visar prestanda

  3. Hur man får nullbar DateTime ur databasen

  4. Meddela postgres ändringar i java-applikationen