Gå till MySQL Reference - 10.5. Lagringskrav för datatyp
Sök efter:Lagringskrav för datum- och tidstyper
Datum lagras internt som A three-byte integer packed as DD + MM×32 + YYYY×16×32
Men om du väljer en datumkolumn för visning , det måste visas i några sätt, så det kommer ut som 0000-00-00. Det är inte lagras som en char(10) med det specifika formatet.
Om du behöver se ett specifikt format för visning kan du konvertera det till VARCHAR i ett specifikt format med Date_Format() . Tänk dock på att om du använder frågan i ett programmeringsverktyg är detta inte vad vill du göra. Du vill ha det råa datumvärdet , för visningsändamål kommer det att finnas en liknande formateringsfunktion från vilken programmeringsmiljö du än använder.
Som du kan se av referensen i DATE_FORMAT vill du använda '%d-%m-%Y'
, t.ex.
SELECT col1, col2, DATE_FORMAT(datecolumn, '%d-%m-%Y') AS datecolumn, more1...
FROM sometable
....