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

Android-SQLite-Date1とDate2の間で選択

    さて、文字列の日付を機能させることができなかったので、SQLiteデータベースに追加する前に文字列の日付をカレンダーの日付にUnix時間に変換し、表示するときに元に戻す必要がありました(Unix時間からカレンダーの日付から文字列)。 Unix Timeでは、日付列で計算(並べ替え、昇順、昇順など)を実行できます。これは、長時間の試行錯誤の後で使用するのに最適な方法です。これが私が使用することになったコードです:

    Cursor c = newDB.rawQuery("select ID, Date, Hours from " + tableName + " where Date BETWEEN '" + startDateQueryDate + "' AND '" + endDateQueryDate + "' ORDER BY Date ASC", null);
    
                if (c != null ) {
                    if  (c.moveToFirst()) {
                        do {
                            int tempId = c.getInt(c.getColumnIndex("ID"));
                            long tempUnixTime = c.getLong(c.getColumnIndex("Date"));
    
                            //convert tempUnixTime to Date
                            java.util.Date startDateDate = new java.util.Date(tempUnixTime);
    
                            //create SimpleDateFormat formatter
                            SimpleDateFormat formatter1;
                            formatter1 = new SimpleDateFormat("dd/MM/yyyy", Locale.UK);
    
                            //convert Date to SimpleDateFormat and convert to String
                            String tempStringStartDate = formatter1.format(startDateDate);
    
                            int tempHours = c.getInt(c.getColumnIndex("Hours"));
                            results.add(+ tempId + "    Date: " + tempStringStartDate + "    Hours: " + tempHours);
                        }while (c.moveToNext());
                    }
                }
    


    1. TSQL日時フィールドからYYYY-MM-DD形式の日付を取得するにはどうすればよいですか?

    2. Oracle SQLでトップ1を選択し、日付順に並べ替える方法は?

    3. タイムゾーンが等しいPostgres時間

    4. MySQL-テーブルの作成中に一緒に使用された場合のPRIMARYKEY、UNIQUE KEY、およびKEYの意味