sql >> Database >  >> RDS >> SQLite

Datums sorteren in sqlite database?

In sqlite heeft niet echt een datumtype. U kunt datums opslaan als strings met behulp van een van hun vooraf gedefinieerde formaten, zie http://www.sqlite.org/lang_datefunc.html voor meer informatie.

Een tijdreeks kan elk van de volgende formaten hebben:

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

Je moet ze opslaan in JJJJ-MM-DD, dan kun je ze sorteren op oplopende limiet 1 om de oudste datum te krijgen. Dus in plaats van

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

Je zult ze in plaats daarvan zo moeten opslaan

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

Eindelijk lees je de eventuele rijen

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. Verbeterd script dat alle eigenschappen van SERVERPROPERTY() in SQL Server retourneert

  2. Logcat zegt ongeldige kolomgegevens1

  3. PgBouncer 1.7 - "Kleuren variëren na opstanding"

  4. PLS-00428:er wordt een INTO-clausule verwacht in deze SELECT-instructie