Bonjour.
Je récupère un format date sur MySQL (de type AAAA-MM-JJ HH:MM:SS).
Je voudrais récupérer certaines informations mais pas d'autres...
Y-t-il une fonction pour exécuter ceci?
Par exemple : avec JJ-MM-AAAA HH:MM
Merci
Version imprimable
Bonjour.
Je récupère un format date sur MySQL (de type AAAA-MM-JJ HH:MM:SS).
Je voudrais récupérer certaines informations mais pas d'autres...
Y-t-il une fonction pour exécuter ceci?
Par exemple : avec JJ-MM-AAAA HH:MM
Merci
Bonjour,
Tu peux utiliser la fonction substr()
Tout peut être fait dans la requête MySQL:
SELECT DATE('dd/mm/yyyy hh:ii:ss', date_field) FROM table WHERE where_clauses
Je ne suis pas sûr de la syntaxe de la fonction DATE de MySQL, du coup, je te conseil d'aller voir sur le site ^^
Presque : la fonction MySQL s'appelle DATE_FORMAT et non date tout court comme en PHP ;)
Il y en a un exemple dans la FAQ et vous trouverez sa documentation détaillée (par rapport aux différentes options de formatage) dans la doc officielle.
C'est bien plus simple que de le faire en PHP (preg_replace, scanf, etc).
Mais avec la requête que j'ai actuellement et avec l'adaptation de date_format, ça ne fonctionne pas.
Voici l'original :
Code:
1
2
3
4
5 SELECT id_trans, nom_transmetteur.numero , nom_transmetteur.id , nom_transmetteur.information, nom_transmetteur.groupe, nom_transmetteur.heure, max(date) AS date_max FROM envoi, nom_transmetteur WHERE nom_transmetteur.id = envoi.id_trans GROUP BY (id_trans) ORDER BY (date_max) DESC
Et avec la fonction date_format :
date_max me renvoi null...Code:
1
2
3
4
5 SELECT id_trans, nom_transmetteur.numero , nom_transmetteur.id , nom_transmetteur.information, nom_transmetteur.groupe, nom_transmetteur.heure, DATE_FORMAT(max(date),%d/%m/%Y %H:%i:%s) AS date_max FROM envoi, nom_transmetteur WHERE nom_transmetteur.id = envoi.id_trans GROUP BY (id_trans) ORDER BY (date_max) DESC
Hum, le deuxième paramètre de date_format est une chaîne donc il manque visiblement, et pour commencer, des quotes à ce niveau.
Exact. Mais ça ne me trie pas les dates correctement.
Il trie uniquement sur les jours.
Je vais essayer alors la méthode avec substr()...
Utilise ORDER BY DATE_FORMAT(date, format), DATE_FORMAT(date, format)...