IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Ordonner des dates.


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut Ordonner des dates.
    Bonjour,

    J'ai une table que je n'es pas crée et qui es déjà rempli de donnée.
    Dans cette table j'ai un champ qui se nomme date_com de type varchar, les date de ce champ son écrit comme ce ci 01/05/2008.

    Donc mon problème c'est que je dois faire un tri sur c'est date avec un ASC ou DESC mais voila mysql me trie que les 2 premier chiffre et par le reste de la date donc mon ordonnancement n'est pas bon.

    Et bien sur dans cette table j'ai d'autre 10 autre champ en plus de celui avec la date.

    Comment puis je faire pour trier normalement c'est date ?

    Merci a vous.

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Bonjour,

    Citation Envoyé par Shandler Voir le message
    Comment puis je faire pour trier normalement c'est date ?
    Utiliser des types date

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Oui mais le probleme que le system attend des date de ce type 01/05/2008 alors que mysql me balance des date de ce type 2008-05-28 et donc mon probleme est que je ne peut changer l'ecriture des dates.

    merci a toi

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Il existe une fonction DATE_FORMAT(date,format) qui est faite pour ça

  5. #5
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Oui mais comme je disais je ne peux pas changer mes donnée de ma bdd car sinon tous le systéme autour de ca marchera plus donc ce que je comprend c'est que cela est impossible de trier les dates tel que je les es maintenant.

    Merci de ton aide.

  6. #6
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Si tu utilise la fonction DATE_FORMAT() rien ne changera pour ce qui entoure la base de données.
    L'avantage c'est que tu n'aura plus de problème, le désavantage c'est qu'il faut que tu t'occupe de convertir les dates actuelle en dates MySQL

  7. #7
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    A mon avis, le problème est un peu plus complexe que ça, parce que la fonction DATE_FORMAT() est faite pour formater un champ qui est déjà de type DATE... Or là, c'est du VARCHAR...

    Tu as plusieurs solutions. La plus "basique" consiste à transformer les dates de ton champ en timestamp de format AAAAMMJJ pour la comparaison. Dans ce cas, ça devrait fonctionner...
    Pour faire ça, il va falloir utiliser la fonction SUBSTRING() pour extraire l'année, le mois puis le jour. Et concaténer tout ça...

    Ca doit donner quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... ORDER BY CONCAT(SUBSTRING(date_com, 7, 4), SUBSTRING(date_com, 4, 2), SUBSTRING(date_com, 1, 2)) ASC
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  8. #8
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Pas bête en effet.
    Ma solution ne s'appliquait pas directement au contexte de son application ce qui engendrais des modification sur l'existant.

  9. #9
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Merci a vous pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saisie des dates
    Par J-P-B dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/07/2003, 11h08
  2. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 11h46
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  4. Réponses: 3
    Dernier message: 19/03/2003, 15h19
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo