sql >> Databáze >  >> RDS >> Mysql

formátování datového pole v mysql

Mělo by se správně zobrazovat. Pokud se například pokoušíte získat pole v PHP, nezobrazí se jako birthdate , ale spíše jak je psáno:DATE_FORMAT(birthdate,'%m-%d-%Y') . To je pravděpodobně důvod, proč není v $row['birthdate'] ale spíše v $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , pokud vůbec.

Chcete-li jej získat jako birthdate , použijte alias pro pole s as klíčové slovo:

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

Nyní ji najdete v $row['birthdate'] .

Flexibilnějším způsobem je vybrat nezpracované datum (nejlépe ve formátu UNIX_TIMESTAMP) a naformátovat datum ve vašem programovacím jazyce. V PHP můžete udělat něco takového:

$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. Mohu vytvořit databázi pomocí PDO v PHP?

  2. PARSE() vs CAST() vs CONVERT() v SQL Server:Jaký je rozdíl?

  3. Dávkové vložení pomocí nativního SQL v režimu spánku

  4. Sql Query – omezení výsledků dotazů