Classement de dates au formats AAAA-MM-JJ

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Classement de dates au formats AAAA-MM-JJ

Message le Mer Aoû 23, 2006 9:46

Bonjour à tous,

J'ai une liste d'éléments dans une BDD que je souhaiterai classer par date, de la plus proche à la plus éloignée.

Parfois, le jour et le mois sont inconnus, je ne met dans ce cas que l'année, ex : "2007-00-00".

Comment classer ces dates correctement ? Car un simple "ORDER BY" ne fonctionnet pas correctement, ce qui est normal, puisqu'entre "2006-00-00" et "2006-11-10", il renvoi d'abord "2006-00-00"...

Or, je voudrais que dans le classement apparaissent d'abord les dates complètes (ex : 2006-11-10), puis les dates qui n'ont pas de jour (ex : 2006-11-00), puis les dates qui n'ont que l'année (ex : 2006-00-00)...

Je ne trouve pas... Merci d'avance !!!


mowmow
WRInaute passionné
WRInaute passionné
 
Messages: 975
Inscription: Mer Nov 03, 2004 9:40

Message le Mer Aoû 23, 2006 9:50

Tiens un sunmagic ! :D Décidemment on se croise (TK_Elitetom sur JV.com).

Tes champs sont ils de type DATETIME ? Normalement un order by devrait marcher si je ne me trompe pas...

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 9:53

Salut ;)

Non, ils sont au format DATE seulement, et l'ORDER BY classe les dates du type "2006-00-00" avant "2006-11-15" par exemple...


obi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 238
Inscription: Mer Juil 26, 2006 10:53

Message le Mer Aoû 23, 2006 9:58

Et si tu mettais 2006-99-99 à la place de 2006-00-00, ça marcherait ?

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 9:59

En bidouillant, oui, cela marcherait certainement, mais j'aimerai éviter d'avoir à le faire :p


obi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 238
Inscription: Mer Juil 26, 2006 10:53

Message le Mer Aoû 23, 2006 10:11

T'as pas trop le choix je dirais...
A moins d'ajouter un champ fuzzy_date qui vaudrait 1 pour toutes les dates de la forme 2006-00-00, du coup, tu peux préciser
Code: Tout sélectionner
ORDER by fuzzy_date, date

Il commence par trier sur le critère fuzzy date, donc te met toutes tes dates pourries à lafin, puis pour ceussent qui ont le même fuzzy date, par date. Et ça marche !

jarreweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Ven Sep 12, 2003 8:17

Message le Mer Aoû 23, 2006 10:13

pour eviter d'avoir des dates qui n'existent pas (2006-00-00), utiliser d'abord la fonction checkdate()
sinon tu peux tenter un
ORDER BY madate>'2006-00-00', madate ASC

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 10:20

Je vais tester tout ca, merci ;)

jarreweb > Je n'ai pas bien compris où je devais inclure le checkdate() ?


obi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 238
Inscription: Mer Juil 26, 2006 10:53

Message le Mer Aoû 23, 2006 10:20

Correction, j'avais mal lu ton message initial.
Il te faut 2 champs supplémentaires: no_month et no_day
et tu fais un
Code: Tout sélectionner
ORDER by no_month, no_day, date

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 10:35

Merci ! Je viens de tester : on progresse, mais ce n'est pas encore ca...

En effet, une date comme le "2007-03-30" passe avant "2006-11-00", par exemple...

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 10:48

La bidouille des "99" n'est pas bête, je vais tester ca ;)


Edit : Bingo ! Ca marche :p

Merci à vous :D

jarreweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Ven Sep 12, 2003 8:17

Message le Mer Aoû 23, 2006 12:21

il faut utiliser checkdate() avant d'insérer la date
pour vérifier sur la date à insérer est valide ou pas

petit-ourson
WRInaute passionné
WRInaute passionné
 
Messages: 843
Inscription: Lun Mai 31, 2004 15:19

Message le Mer Aoû 23, 2006 14:18

Si ce n'est pas abérant d'avoir un champ date (au format date) avec des dates qui ne sont pas des dates ....

sunnmagic
WRInaute impliqué
WRInaute impliqué
 
Messages: 274
Inscription: Mar Juin 14, 2005 14:12

Message le Mer Aoû 23, 2006 14:44

J'ai mes raisons ;)

petit-ourson
WRInaute passionné
WRInaute passionné
 
Messages: 843
Inscription: Lun Mai 31, 2004 15:19

Message le Mer Aoû 23, 2006 14:52

Avec ou sans raisons cela reste abérant. Conceptuellement, j'aimerai bien comprendre comment tu es arrivé à ce résultat là.

Classement de dates au formats AAAA-MM-JJ

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Alternate Views

  • Logiciel d'analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Trouver la position de son site dans Google
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés.
  • Trouver la position de son site dans Yahoo
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités