Mysql
 sql >> Datenbank >  >> RDS >> Mysql

formatieren eines datumsfeldes in mysql

Es sollte richtig angezeigt werden. Wenn Sie beispielsweise versuchen, das Feld in PHP abzurufen, wird es nicht als birthdate angezeigt , sondern wie es geschrieben steht:DATE_FORMAT(birthdate,'%m-%d-%Y') . Das ist wahrscheinlich der Grund, warum es nicht in $row['birthdate'] steht sondern in $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , wenn überhaupt.

Um es als birthdate zu erhalten , verwenden Sie einen Alias ​​für das Feld mit as Stichwort:

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

Jetzt ist es vollständig in $row['birthdate'] zu finden .

Eine flexiblere Möglichkeit besteht darin, das Rohdatum auszuwählen (vorzugsweise im UNIX_TIMESTAMP-Format) und das Datum in Ihrer Programmiersprache zu formatieren. In PHP könnten Sie etwa so vorgehen:

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