sql >> データベース >  >> RDS >> SQLite

sqliteデータベースで日付を並べ替えますか?

    sqliteでは実際には日付型はありません。事前定義された形式のいずれかを使用して日付を文字列として保存できます。詳細については、http://www.sqlite.org/lang_datefunc.htmlを参照してください。

    時間文字列は、次のいずれかの形式にすることができます。

    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
    

    それらをYYYY-MM-DDに保存する必要があります。その後、昇順制限1で並べ替えて、最も古い日付を取得できます。したがって、

    の代わりに
    Column_Date
    ------------
    Nov-07-2012
    Nov-21-2012
    Nov-25-2012
    Oct-25-2012
    Oct-24-2102
    

    代わりにこのように保存する必要があります

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

    最後に、行がある場合はそれを読み取ります

    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. 特別なクエリの概要

    2. SQLServer2008の行の挿入と更新のタイムスタンプ

    3. 複数の述語のカーディナリティ推定

    4. Atand()がPostgreSQLでどのように機能するか