Mysql
 sql >> Base de données >  >> RDS >> Mysql

formater un champ de date dans mysql

Il devrait s'afficher correctement. Si vous essayez d'obtenir le champ en PHP par exemple, il n'apparaît pas comme birthdate , mais plutôt comme il est écrit :DATE_FORMAT(birthdate,'%m-%d-%Y') . C'est probablement pourquoi il n'est pas dans $row['birthdate'] mais plutôt en $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , le cas échéant.

Pour l'obtenir comme birthdate , utilisez un alias pour le champ avec as mot-clé :

SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC

Maintenant, il se trouve dans $row['birthdate'] .

Une méthode plus flexible consiste à sélectionner la date brute (de préférence au format UNIX_TIMESTAMP) et à formater la date dans votre langage de programmation. En PHP, vous pourriez faire quelque chose comme ceci :

$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 />";
}