sql >> Databáze >  >> RDS >> SQLite

Android – SQLite – ZVOLTE MEZI datem1 A datem2

Dobře, takže jsem nemohl zprovoznit data řetězce, takže jsem musel převést data řetězce na kalendářní data na čas Unix, než je přidal do databáze SQLite, a při zobrazení je převést zpět (čas z Unixu na kalendářní data na řetězec). Unix Time umožňuje výpočty (řazení podle, řazení vzestupně, mezi atd.) prováděné na sloupcích s datem a je to nejlepší metoda pro použití po dlouhých hodinách pokusů a omylů. Zde je kód, který jsem nakonec použil:

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. SQL CREATE TABLE … AS Příkaz SELECT

  2. Vytvářejte fyzické zálohy databází MariaDB nebo MySQL

  3. Jak odstranit výchozí hodnotu sloupce v MySQL

  4. Předat a vrátit objekt vlastního pole v ibatis a oracle v Javě