sql >> Base de Datos >  >> RDS >> Mysql

formatear un campo de fecha en mysql

Debería mostrarse correctamente. Si está intentando obtener el campo en PHP, por ejemplo, no aparece como birthdate , sino como está escrito:DATE_FORMAT(birthdate,'%m-%d-%Y') . Probablemente por eso no está en $row['birthdate'] sino en $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , en todo caso.

Para obtenerlo como birthdate , use un alias para el campo con as palabra clave:

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

Ahora se encuentra en $row['birthdate'] .

Una forma más flexible es seleccionar la fecha sin procesar (preferiblemente en formato UNIX_TIMESTAMP) y formatear la fecha en su lenguaje de programación. En PHP, podría hacer algo como esto:

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