Vergleichen Sie Daten (als Zeichenfolge gespeichert) in Android SQLite-Datenbank?

Ich speichere Termine alsString in meiner Datenbank in diesem Format:

YYYY-MM-DD HH:MM:SS

Welches ist eines der unterstützten Formate (http://www.sqlite.org/lang_datefunc.html). Jetzt möchte ich diese gespeicherten Daten (nun, Zeichenfolgen) mit anderen Daten vergleichen. Meine Daten werden in Spalte gespeichertcolumn_dateAlso versuche ich Folgendes:

SELECT  * FROM MyTable
WHERE 
(Date(column_date) >= Date (2000-01-01) AND Datetime(column_date) <= Datetime (2050-01-01))

Während ich die Dokumentation lese,The date and time functions use a subset of IS0-8601 date and time formats. The date() function returns the date in this format: YYYY-MM-DD. Also mache ich es wohl richtig - ich erstelle ein Datum aus einer gespeicherten Zeichenfolge und vergleiche es mit einem Datum, das aus einer anderen Zeichenfolge erstellt wurde.

Aber es funktioniert nicht, auch wenncolumn_date Dieses Datum stammt aus diesem Jahr, und wie Sie sehen können, sind Start- und Enddatum sehr wohlwollend. Versucht auch dies (verwendet DatumZeit statt Datum):

SELECT  * FROM MyTable
    WHERE 
    (datetime(column_date) >= Date (2000-01-01) AND datetime(column_date) <= Datetime (2050-01-01))

und dies (verwenden Sie zwischen anstelle von <= und> =)

SELECT  * FROM MyTable
    WHERE 
    (Date(column_date) between Date (2000-01-01) AND Datetime (2050-01-01))

und alle anderen möglichen Kombinationen. Was zum Teufel mache ich falsch, bin ich dumm oder die Dokumentation lügt oder ich habe etwas sehr Wichtiges verpasst? Der Versuch, eine Lösung zu finden, dauert einige Stunden, aber es funktioniert nichts ...

Antworten auf die Frage(5)

Ihre Antwort auf die Frage