Acesse Referência do MySQL - 10.5. Requisitos de armazenamento de tipo de dados
Pesquise:Requisitos de armazenamento para tipos de data e hora
As datas são armazenadas internamente como
A three-byte integer packed as DD + MM×32 + YYYY×16×32
Mas, se você selecionar uma coluna de data para exibição , ele deve ser mostrado em algumas forma, então sai como 0000-00-00. É não armazenado como um char(10) com esse formato específico.
Se, para exibição, você precisar ver um formato específico, poderá convertê-lo para VARCHAR em um formato específico usando Date_Format() . No entanto, lembre-se de que, se você estiver usando a consulta em uma ferramenta de programação, isso não O que você quer fazer. Você quer o valor de data bruto , para fins de exibição, haverá uma função de formatação semelhante em qualquer ambiente de programação que você usar.
Como você pode ver na referência em DATE_FORMAT, você vai querer usar
'%d-%m-%Y'
, por exemplo. SELECT col1, col2, DATE_FORMAT(datecolumn, '%d-%m-%Y') AS datecolumn, more1...
FROM sometable
....