sql >> Databasteknik >  >> RDS >> SQLite

Android - SQLite - VÄLJ MELLAN Datum1 OCH Datum2

Ok, så jag kunde inte få strängdatum att fungera, så jag var tvungen att konvertera strängdatum till kalenderdatum till Unix-tid innan jag lade till dem i SQLite-databasen och konvertera tillbaka dem (Unix-tid till kalenderdatum till sträng) när jag visade dem. Unix Time tillåter beräkningar (ordning efter, sortera stigande, mellan etc) som görs på datumkolumnerna och det är den bästa metoden att använda efter långa timmar av försök och misstag. Här är koden jag slutade använda:

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. Dela upp kommaseparerade värden till kolumner i Oracle

  2. MySQL ABS() Funktion – Returnera det absoluta värdet av ett tal

  3. Dela anslutning till postgres db över processer i Python

  4. Att göra fallet för regelbunden SQL Server-service