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

MS SQL Server Discussion :

Tri dans ma requete


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 33
    Points
    33
    Par défaut Tri dans ma requete
    Bonjour à tous,

    J'ai une table avec un champs date.
    Le format de la date est 07/2009

    Lorsque je fais un tri, celui-ci ne fait le tri que sur le mois, pas sur l'année.

    Exemple :
    07/2009
    05/2007
    12/2005

    cela va me trier comme ceci
    12/2005
    05/2007
    07/2009

    quand je fais : select date from table order by date

    Quelqu'un peut il m'aider?

    je vous remercie

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    bonjour,
    Oui l'instruction ORDER by tri correctement. Vous pouvez ajouter ASC ou DESC pour trier par ordre croissant (ASC) ou decroissant.
    Peut être que le requête suivante répond à votre question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select date from table order by date DESC

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 33
    Points
    33
    Par défaut
    je me suis mal exprimé... désolé

    c'est quand je fais cette requete que j'ai le mauvais résultat.

    N'y a t il pas un traitement à faire sur la date...

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 383
    Points
    18 383
    Par défaut
    Votre champ n'est pas de type datetime alors, c'est un varchar(7) qui contient une (mauvaise) représentation d'une date.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 33
    Points
    33
    Par défaut
    exact!!!

    comment puis-je alors pour que le tri se fasse correctement?

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 383
    Points
    18 383
    Par défaut
    Il faut reconvertir en date pour trier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    WITH TEST (COL) AS
    (
    SELECT '07/2009' UNION ALL
    SELECT '05/2007' UNION ALL
    SELECT '12/2005'
    )
      SELECT COL
        FROM TEST
    ORDER BY CONVERT(SMALLDATETIME, '01/' + COL, 103) ASC;
     
    COL
    -------
    12/2005
    05/2007
    07/2009

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 66
    Points : 33
    Points
    33
    Par défaut
    super merci!!! beaucoup!!

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

Discussions similaires

  1. [AC-2007] Faire un tri dans une requete et mettre un 0
    Par petchy dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 07/03/2010, 17h57
  2. Tri dans une requete
    Par athenasst dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/03/2008, 20h42
  3. Somme et tri dans une requete
    Par lelapinrusse dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/01/2008, 14h55
  4. tri dans une requete
    Par bibi_forever dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2007, 11h22
  5. tri dans ordre requete
    Par bleep dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2006, 11h57

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