[MySQL 5] Traiter des dates où le jour, mois et année utilisent un champ chacun

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [MySQL 5] Traiter des dates où le jour, mois et année utilisent un champ chacun

par chrislabricole » 31 juil. 2009, 18:25

J'ai plutôt cherché du côté des concaténation, et j'ai trouvé ça : :)

Code : Tout sélectionner

SELECT CONCAT_WS("-", annee, mois, jour) AS dateComplete, id, titre, description FROM evenements ORDER BY dateComplete DESC LIMIT 0,5
Ça marche parfaitement !

Merci beaucoup ! :)

par enneite » 31 juil. 2009, 15:59

CA devrait le faire ça , non:
select CONCAT(annee,"-",mois,"-",jour) as date_complete from evenements order by annee desc, mois desc, jour desc limit 5

[MySQL 5] Traiter des dates où le jour, mois et année utilis

par chrislabricole » 31 juil. 2009, 13:00

Bonjour tout le monde :)

Je voudrai tout simplement faire où requête qui à 5 résultats en limite, et décroissant selon la date.
Mais par contre, le jour, le mois, et l'année ont un champ chacun.

Voici la structure de ma table :

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `evenements` ( `id` int(10) NOT NULL AUTO_INCREMENT, `jour` int(2) NOT NULL, `mois` int(2) NOT NULL, `annee` int(4) NOT NULL, `titre` varchar(100) CHARACTER SET utf8 NOT NULL, `description` text CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`) )
Voici quelques enregistrement pour exemple :

Code : Tout sélectionner

INSERT INTO `evenements` (`id`, `jour`, `mois`, `annee`, `titre`, `description`) VALUES (1, 31, 7, 2009, 'Événement 1', 'Description 1'), (2, 9, 7, 2009, 'Événement 2', 'Description 2'), (3, 31, 6, 2009, 'Événement 3', 'Description 3'), (4, 25, 6, 2009, 'Événement 4', 'Description 4'), (5, 9, 7, 2009, 'Événement 5', 'Description 5');
Sachant que l'ID ne reflète pas toujours la chronologie.

Je ne parviens pas à trouver dans la doc MySQL sur la date la bonne chose qui me permet d'obtenir ma date sous forme de variable au format AAAA-MM-JJ.
Après, d'après mes souvenirs, avec un ORDER BY ... DESC, les dates se rangent automatiquement par chronologie de plus récent au plus ancien.

Merci par avance ! :)