22 Stimmen

SQLite: Datum älter als X Tage

Frage von Gast | Letztes Update am 28.06.2021 | Erstellt am 28.04.2015

Ich würde gerne eine Abfrage mit SQLite bauen, mit der ich alle Einträge, die älter sind als eine bestimmte Anzahl von Tagen, auswählen kann.

Wahlweise sollen diese Datensätze aus der Datenbank gelöscht werden oder einfach nur angezeigt werden.

Ich habe vor allem Schwierigkeiten, weil diese Abfrage ja von aktuellen Datum abhängt. Gibt es da irgend eine einfache Lösung?

AntwortenPositivNegativ
3Beste Antwort3 Stimmen

Mit der internen Funktion date() von SQLite und mit "now" kannst du sehr einfach dein gewünschtes Datum direkt in einer beliebigen SQLite-Abfrage generieren:

date('now', '-10 day')

Hiermit würdest du beispielsweise automatisch das Datum vor 10 Tagen ermitteln.

Jetzt brauchst du das ganze nur noch in deine Abfrage einzubauen:

DELETE FROM tab 
WHERE col <= date('now', '-10 day')

So würdest du alle Datensätze aus der Tabelle "tab" löschen, die in der Spalte "col" ein Datum älter als 10 Tage stehen haben.

SELECT id FROM tab 
WHERE col <= date('now', '-10 day')

Und mit dieser Abfrage würdest du alle Datensätze auslesen, die älter als 10 Tage sind.
Letztes Update am 28.06.2021 | Erstellt am 28.04.2015

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Kalenderwoche ermitteln

Tutorial | 2 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.