Sorting dates in sqlite database?

后端 未结 3 846
清酒与你
清酒与你 2020-12-10 07:55

I have developed an App ..For that I have a database and it has many tables. One of the table has date column. My question is I have to sort the dates and have to pick olde

3条回答
  •  一向
    一向 (楼主)
    2020-12-10 08:48

    In sqlite does not really have a date type. You can store dates as strings using one of their predefined formats see http://www.sqlite.org/lang_datefunc.html for more information.

    A time string can be in any of the following formats:

    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
    

    You need to store them in YYYY-MM-DD then you can sort them order by asc limit 1 to get the oldest date. So instead of

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

    You will have to store them like this instead

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

    Finally you read the rows if any

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

提交回复
热议问题