Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

formatando um campo de data no mysql


Ele deve ser exibido corretamente. Se você está tentando obter o campo em PHP, por exemplo, ele não aparece como birthdate , mas sim como está escrito:DATE_FORMAT(birthdate,'%m-%d-%Y') . Provavelmente é por isso que não está em $row['birthdate'] mas sim em $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , se for o caso.

Para obtê-lo como birthdate , use um alias para o campo com as palavra-chave:
SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC

Agora ele pode ser encontrado em $row['birthdate'] .

Uma maneira mais flexível é selecionar a data bruta (de preferência no formato UNIX_TIMESTAMP) e formatar a data em sua linguagem de programação. Em PHP, você poderia fazer algo assim:
$query = "SELECT UNIX_TIMESTAMP(birthdate) as birthdate, name FROM persons ORDER BY name DESC";
$resource = mysql_query($query);

while($row = mysql_fetch_assoc($resource)) {
    echo date('m-d-Y', $row['birthdate'])." ".$row['name']."<br />";
}