Vinzenz Mai: richtiges datum

Beitrag lesen

Hallo

Also wenn ich möchte dass DAtum danach in Form dd.mm.yyyy ist. dann sollte es doch etwa so gehn oder..?

Nein, es geht nicht so.
In der WHERE-Klausel verwendest Du _keine_ Formatierungsfunktion, wenn Deine
Datenbankspalte den Datentyp DATE oder DATETIME hat.

Du verwendest in der Spaltenliste die Formatierungsfunktion, damit Du in Deiner
Ergebnismenge das von Dir gewünschte Datumsformat hast. Außerdem ist das Format
eine Zeichenkette und muss daher in Anführunszeichen stehen.

mysql_query("select * from events where DATE_FORMAT(datum,%m.%b.%Y) >= now() order by datum asc LIMIT 1");

  
SELECT  
    DATE_FORMAT(datum, '%m.%b.%Y') AS mydatum, -- Deine Datumsspalte im  
                                               -- gewünschten Format  
                                               -- mit einem netten Namen  
                                               -- für den späteren Zugriff  
    <sonstige Spalten>                         -- SELECT * ist böse[tm]  
FROM  
    events  
WHERE  
    datum >= NOW()        -- Vergleiche den Wert in der Spalte mit dem  
                          -- aktuellen Datums/Zeit-Wert  
ORDER BY  
    datum ASC  
LIMIT 1  

Es ist eine gute Idee, sich nur die Spalten zurückgeben zu lassen, die man
auch wirklich benötigt. Es scheint zunächst mehr Aufwand zu sein, die Liste
der Spalten explizit hinzuschreiben - langfristig zahlt es sich nach meinen
Erfahrungen aus.

Freundliche Grüße

Vinzenz