Vinzenz Mai: DATE Formatierung

Beitrag lesen

Hallo Malte,

grundsätzlich ist es eine gute Idee, das verwendete Datenbankmanagementsystem (DBMS) inklusive Versionsangabe (bei MySQL besonders wichtig) anzugeben. Glücklicherweise verriet die Fehlermeldung, dass es sich um MySQL handelt - und Dein Problem ist unabhängig von der Version :-)

habe folgendes Statement

SELECT
IF(anfang < CURRENT_DATE(),CURRENT_DATE,anfang) as beginn,
FROM
veranstaltung
WHERE
...

SELECT
...as DATE_FORMAT(beginn,'%d.%m.%Y'),
FROM

Ja natürlich kann das so überhaupt nicht gehen, denn

DATE_FORMAT(beginn,'%d.%m.%Y')

ist kein zulässiger Spaltenname.
Du willst ja auch nicht den Spaltennamen ändern, wofür AS gut ist,
sondern die Formatierung des Inhalts der Spalte:

SELECT  
    IF( anfang < [link:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#id3145406@title=CURRENT_DATE],  
        DATE_FORMAT(CURRENT_DATE, '%d.%m.%Y'),  -- Formatiere den Inhalt  
        DATE_FORMAT(anfang, '%d.%m.%Y')         -- Formatiere den Inhalt  
    ) AS beginn                                 -- der nette Name  
FROM veranstaltung  
WHERE ...

@alpman:
CURRENT_DATE und CURRENT_DATE() sind Synonyme, somit sind beide Schreibweisen richtig. Es ist meiner Meinung jedoch kein guter Stil, die Schreibweisen zu mischen.

Freundliche Grüße

Vinzenz