Должно отображаться правильно. Например, если вы пытаетесь получить поле в PHP, оно будет выглядеть не как birthdate
, а как написано: DATE_FORMAT(birthdate,'%m-%d-%Y')
. Вероятно, поэтому это не в $row['birthdate']
, а скорее в $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"]
, если вообще.
Чтобы получить его как birthdate
, используйте псевдоним поля с ключевым словом as
:
SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC
Теперь его можно найти в $row['birthdate']
.
Более гибкий способ - выбрать необработанную дату (предпочтительно в формате UNIX_TIMESTAMP) и отформатировать дату на вашем языке программирования. В PHP вы можете сделать что-то вроде этого:
$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 />";
}