Erhalten Sie Datensätze aus einem bestimmten Monat mit SQLite
Frage
Wie würde ich eine SQLite-Abfrage schreiben alle Datensätze aus einem bestimmten Monat zu wählen? Meine Reisedaten sind gespeichert als Unix-Zeitstempel .
PHP-Code in Ihrer Lösung erlaubt, wenn es erforderlich ist. SQLite2-kompatible Abfragen nur, bitte. :)
Lösung
Wenn Sie eine effiziente Abfrage wollen, dann sollten Sie verwenden, um zwischen:
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
Wo start
und end
die Unix-Zeitstempel für den Beginn des Monats und Ende des Monats. Diese können in PHP berechnet werden Mktime und als Parameter gesendet.
Andere Tipps
Verwendung:
SELECT *
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD
AND YYYY-MM-DD
Ersetzen Sie die YYYY-MM-DD
mit den Daten, die Sie wünschen. Siehe die Referenzseite für andere unterstützte Formate.
Referenz:
Ohne letzten Tag im Monat Berechnung
SELECT *
FROM table
WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow