Wie erhalte ich die Zeile #, die der aktuellen Zeit in SQLite für Android rawQuery @ am nächsten is

Experts, ich möchte den Wert aus der Spalte MyColumn abrufen, in der die Spalte Judge den Wert true hat und die Spalte DateTime der aktuellen Zeit am nächsten kommt. Wie soll man das angehen? Vielen Dank

Ich entwickle Code wie unten scheint zu funktionieren. Wenn jedoch die Tabelle enthält nur Zeilen Judge = 'false', (Erwarten Sie, dass Sie 0 Zeilen erhalten, da eine meiner where-Bedingungen Judge = 'true' ist.) Ich habe:

cursor.moveToFirst () == true

cursor.getCount () == 1

Und daher wird myColumn statt 999999 eine 0.0 zugewiesen.

 String dateTime="CURRENT_DATE_TIME";
 double myColumn;

 Cursor cursor = db.rawQuery("select MyColumn, " +
                "min(strftime('%s', '" + dateTime + "') - strftime('%s', DateTime)) " +
                "from trade1 " +
                "where Judge = 'true' " +
                "and date(DateTime) <= date('" + dateTime + "')", null);

        cursor.moveToFirst();

        myColumn = cursor.getDouble(0);  

        if (cursor.getCount()==0) myColumn = 999999;


        cursor.close();

Antworten auf die Frage(2)

Ihre Antwort auf die Frage