Dieser Code funktioniert:(beachten Sie, dass das Leerzeichen nach "CAST" entfernt wird)
SELECT CAST(20091023 as date);
Es stellt sich heraus, dass MySQL verlangt, dass eine bestimmte Liste eingebauter Funktionen keine Leerzeichen zwischen dem Funktionsnamen und der Klammer hat. Siehe diese Seite im MySQL-Handbuch für weitere Informationen darüber, warum dieses Verhalten vorliegt.
Die folgende Liste von Funktionen hat dieselbe Einschränkung in MySQL 5.1 (es gibt viele weitere in früheren Versionen):
ADDDATE
BIT_AND
BIT_OR
BIT_XOR
CAST
COUNT
CURDATE
CURTIME
DATE_ADD
DATE_SUB
EXTRACT
GROUP_CONCAT
MAX
MID
MIN
NOW
POSITION
SESSION_USER
STD
STDDEV
STDDEV_POP
STDDEV_SAMP
SUBDATE
SUBSTR
SUBSTRING
SUM
SYSDATE
SYSTEM_USER
TRIM
VARIANCE
VAR_POP
VAR_SAMP
Ich hoffe, diese Antwort hilft Ihnen dabei, nicht die gleiche Zeit zu verschwenden, die ich dafür verwendet habe! :-)