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

JDBC Java Discussion :

Problème de tri sur champ alphanumérique


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Par défaut Problème de tri sur champ alphanumérique
    Bonjour,

    J'ai un soucis sur le résultat d'une requête SQL qui tri sur un champ alphanumérique (il y a des codes purement numeriques et des codes en chaine de caractères ex : 031 , LOIN).

    Le problème est que quand j'exécute la requete sous pl/sql, il me renvoi bien ce que je veux c'est-à-dire 031,LOIN alors que sous JAVA il me renvoi LOIN,031.

    Comment faire pour avoir le même résultat que sous pl/sql?

    Voici la commande pour executer la requete sous JAVA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery(strRequete);
    Merci d'avance pour vos réponses,

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Bonjour,
    Quelle est votre requête sql ?
    En mettant une clause ORDER BY, vous pouvez faire exécuter ce tri par SQL directement ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Par défaut
    Bonjour,

    Oui dans la requête SQL, le ORDER BY est fait sur cette colonne avec un 'ASC' mais le résultat est différent entre pl/sql et java.

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    ResultSet est un Set, un ensemble.
    Il n'y a pas d'ordre me semble-t-il dans un ensemble ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Par défaut
    Oui mais si dans la requête SQL, je fais déjà le tri par le biais d'un ORDER BY, cela devrait fonctionner?

    En fait ce que fait JAVA, c'est que j'ai bien les codes triés mais j'ai les codes en chaine de caractères avant les codes numériques et pl/sql me donne l'inverse.

  6. #6
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Et les chaines de caractères sont elles ordonnées entre elles ?
    Avez-vous :
    LOIN
    PRES

    ou bien :
    PRES
    LOIN
    ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Par défaut
    Oui elles sont bien ordonnées entre elles, les codes sont bien triés mais les codes numériques sont affichés après les codes en chaîne de caractères.

  8. #8
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Sinon il faudrait refaire un tri derrière, mais on perd l'intérêt du ORDER BY.
    Quel traitement effectuez-vous sur cet ensemble et quelle est la requête SQL ?

  9. #9
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !
    je cite jcdentons :

    Bonjour,
    Quelle est votre requête sql ?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Par défaut
    Bonjour

    Voici la requete SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  nvl(LIB_PORTEFEUILLE_COURT, ''), CODE_PORTEFEUILLE
        FROM T_PORTEFEUILLE WHERE AFFICHER = 1 ORDER BY (code_portefeuille)

  11. #11
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Et si vous ajoutez asc ou desc ... peut être cela changerait-il quelquechose.

Discussions similaires

  1. tri sur champ alphanumérique avec des nombres ou des lettres
    Par Satanas_et_diabolo dans le forum Débuter
    Réponses: 2
    Dernier message: 27/04/2012, 12h28
  2. Problème de tri sur les dates par année puis mois
    Par rob2-9 dans le forum Access
    Réponses: 26
    Dernier message: 11/08/2006, 11h04
  3. [VB.NET] Problème de tri sur Datagrid/gridview multilingue
    Par crimsonPhantom dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/03/2006, 22h41
  4. [CR]tri sur champ formule
    Par planetevoyage dans le forum Formules
    Réponses: 6
    Dernier message: 31/08/2005, 14h31
  5. tri sur champ texte
    Par ridan dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/08/2004, 16h28

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