SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Sortowanie dat w bazie sqlite?

W sqlite tak naprawdę nie ma typu daty. Możesz przechowywać daty jako ciągi, używając jednego z ich predefiniowanych formatów, zobacz http://www.sqlite.org/lang_datefunc.html, aby uzyskać więcej informacji.

Ciąg czasu może mieć dowolny z następujących formatów:

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

Musisz przechowywać je w formacie RRRR-MM-DD, a następnie możesz je posortować według limitu asc 1, aby uzyskać najstarszą datę. Więc zamiast

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

Zamiast tego będziesz musiał je przechowywać w ten sposób

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

Na koniec czytasz wiersze, jeśli takie istnieją

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite CROSS JOIN z praktycznym przykładem

  2. Usuwanie elementu z ListView i bazy danych za pomocą OnItemClickListener

  3. Polecenia SQLite

  4. Wstaw dane JSON do bazy danych SQLite w Androidzie

  5. Jak uzyskać wczorajszą datę w SQLite?