sql >> Databasteknik >  >> RDS >> Mysql

formatera ett datumfält i mysql

Den ska visas korrekt. Om du till exempel försöker få fältet i PHP, visas det inte som birthdate , utan snarare som det är skrivet:DATE_FORMAT(birthdate,'%m-%d-%Y') . Det är förmodligen därför det inte finns i $row['birthdate'] utan snarare i $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , om alls.

För att få det som birthdate , använd ett alias till fältet med as nyckelord:

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

Nu hittar du den i $row['birthdate'] .

Ett mer flexibelt sätt är att välja rådatum (helst i UNIX_TIMESTAMP-format) och formatera datumet på ditt programmeringsspråk. I PHP kan du göra något så här:

$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. MySQL:fel i din SQL-syntax ... nära nyckel ...?

  2. Infoga/visa bild i/från en MySQL DB

  3. MySQL ta bort rad från flera tabeller

  4. Finns det något sätt att spola ut utdata från PL/SQL i Oracle?