Ces dernières heures, j'ai essayé de formater un timestamp MySQL en utilisant DATE_FORMAT
et ça ne fait rien!Pourquoi MySQL DATE_FORMAT imprime-t-il un résultat vide?
Perl code:
use CGI;
use DBI;
my $q = new CGI;
# Database connection goes here
my $sth_select = $dbh->prepare(
"SELECT DATE_FORMAT(timestamp, '%m/%d/%y') FROM foo"
);
$sth_select->execute() || die "Unable to execute query: $dbh->errstr";
if (my $ref = $sth_select->fetchrow_hashref()) {
print $q->header;
print " TIME: $ref->{timestamp}";
exit;
}
Résultats
TIME:
Il n'imprime pas du tout le temps formaté, il est vide! Lorsque je tente d'imprimer l'horodatage, il n'imprime rien, mais si je devais supprimer DATA_FORMAT
et simplement faire un SELECT timestamp FROM foo
, alors il imprime l'horodatage juste bien, bien que non formaté cependant. Quelqu'un peut-il donner son avis sur cette question, s'il vous plaît?
Ou vous pouvez utiliser fetchrow_arrayref' '' fetchrow_array' ou qui ne se soucient pas des noms de colonnes. – cjm
Ou: 'pourchaque ma clé $ (clés% $ ref) {print" $ key = $ ref -> {$ key} \ n "; } ' –
Vous monsieur vient de résoudre mon problème! J'essayais l'argument 'AS' mais au lieu d'utiliser 'AS timestamp' j'utilisais 'AS formated_timestamp'. Néanmoins j'ai essayé votre suggestion et travaillé comme un charme! Si jamais je te rencontre un jour la bière est sur moi! Merci beaucoup! – JCB