Gehen Sie zu MySQL-Referenz – 10.5. Speicheranforderungen für Datentypen
Suchen Sie nach:Speicheranforderungen für Datums- und Zeittypen
Daten werden intern gespeichert als A three-byte integer packed as DD + MM×32 + YYYY×16×32
Aber wenn Sie eine Datumsspalte zur Anzeige auswählen , es muss in einigen angezeigt werden Weise, also kommt es als 0000-00-00 heraus. Es ist nicht als char(10) mit diesem spezifischen Format gespeichert.
Wenn Sie für die Anzeige ein bestimmtes Format sehen müssen, können Sie es mit Date_Format() . Beachten Sie jedoch, dass dies nicht der Fall ist, wenn Sie die Abfrage in einem Programmiertool verwenden was willst du tun. Sie wollen den rohen Datumswert , für Anzeigezwecke gibt es eine ähnliche Formatierungsfunktion von jeder Programmierumgebung, die Sie verwenden.
Wie Sie der Referenz in DATE_FORMAT entnehmen können, sollten Sie '%d-%m-%Y'
verwenden , z. B.
SELECT col1, col2, DATE_FORMAT(datecolumn, '%d-%m-%Y') AS datecolumn, more1...
FROM sometable
....