sql >> Database >  >> RDS >> Mysql

een datumveld opmaken in mysql

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



  1. Fouten in evoluties op Heroku

  2. Ondersteunt transacties, vergrendeling op rijniveau en externe sleutels

  3. AVG()-functie in MariaDB

  4. Hoe gegevens in een Hive(0.13.1)-tabel in te voegen?