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