Het moet goed worden weergegeven. Als je het veld bijvoorbeeld in PHP probeert te krijgen, wordt het niet weergegeven als birthdate , maar zoals het is geschreven:DATE_FORMAT(birthdate,'%m-%d-%Y') . Daarom staat het waarschijnlijk niet in $row['birthdate'] maar eerder in $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , of helemaal niet.
Om het te krijgen als birthdate , gebruik een alias voor het veld met as zoekwoord:
SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC
Nu is het te vinden in $row['birthdate'] .
Een meer flexibele manier is om de onbewerkte datum te selecteren (bij voorkeur in UNIX_TIMESTAMP-formaat) en de datum op te maken in uw programmeertaal. In PHP zou je zoiets als dit kunnen doen:
$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 />";
}