Zeitabfrage in MySQL

Es sollen Datensätze selektiert werden, die in einem bestimmten Jahr abgelegt worden sind. Im Feld ‘date’ jedes Datensatzes steht ein Timestamp, der beim Speichern gesetzt worden ist. Mit dieser SQL-Abfrage lassen sich ohne Umrechnung die Datensätze aus dem richtigen Zeitraum selektieren:

SELECT * FROM documents WHERE FROM_UNIXTIME(date, “%Y”) = 2008

Die MySQL-Funktion FROM_UNIXTIME wandelt einen Timestamp in einen Wert entsprechend der Formatierung um. Gleiches läßt sich für einen Monat machen (Formatstring ist %c). Das wäre ein Beispiel für den Monat April.

SELECT * FROM documents WHERE FROM_UNIXTIME(date, “%c”) = 4

PS: eigentlich ist es nicht schön, ein Feld ‘date’ zu nennen, da es in MySQL ein reservierter Sting (=Funktion) ist.

Kommentare sind geschlossen.