Die Abfrage, die Sie als Beispiel zeigen möchten, lautet:
SELECT * FROM temp WHERE mydate > '2009-06-29 16:00:44';
04:00:00 ist 4 Uhr morgens, also kommen alle angezeigten Ergebnisse nach das, was richtig ist.
Wenn Sie alles nach 16:00 Uhr anzeigen möchten, müssen Sie in Ihrer Abfrage die korrekte Schreibweise (24 Stunden) verwenden.
Um die Dinge etwas klarer zu machen, versuchen Sie Folgendes:
SELECT mydate, DATE_FORMAT(mydate, '%r') FROM temp;
Das zeigt Ihnen das Datum und seine 12-Stunden-Zeit.