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 Oracle Discussion :

tri sur un champ avec une chaine de caractère et un numéro


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut tri sur un champ avec une chaine de caractère et un numéro
    Bonjour,
    Je souhaite faire un tri sur un champ du type :

    TCV_1
    TCV_10
    TCV_11
    TCV_2
    ...
    TCV_9
    TROLE_1
    ...
    T_ROLE_8

    Le problème est que comme dans l'exemple j'aimerai que le champs soi trié sur la chaine de caractère puis sur le numéro de la fin. Le TCV_10 se retrouver juste après le TCV_1 ce qui pose problème.

    Y-a-t-il un moyen avec un order_by de changer cela ?

    Merci pour vos réponses

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il faut modifier le paramètre NLS_SORT recherche

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORDER BY SUBSTR(champ,1,INSTR(champ,'_',-1)-1),to_number(SUBSTR(champ,INSTR(champ,'_',-1)+1))
    NB : on met -1 dans le INSTR pour commencer la recherche de "-" par la fin
    (a cause de T_ROLE_8) !
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Garuda
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORDER BY SUBSTR(champ,1,INSTR(champ,'_',-1)-1),to_number(SUBSTR(champ,INSTR(champ,'_',-1)+1))
    NB : on met -1 dans le INSTR pour commencer la recherche de "-" par la fin
    (a cause de T_ROLE_8) !
    Ca marche nickel ta solution, merci beaucoup. Je me douter que c'etait pas un truc pas très compliqué mais je n'avait aucune idée de comment le faire. Je viens d'apprendre à l'instant qu'il y a des fonctions sur des chaines de caractère en sql !!
    j'avais jamais utilisé ca avant.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par orafrance
    il faut modifier le paramètre NLS_SORT recherche
    Je vais tester cette solution egalement car le caractère avant le numéro ne sera pas forcément un souligné

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

Discussions similaires

  1. [AC-2007] tri sur un champ dans une table Access
    Par hutchy33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/08/2009, 10h48
  2. [mysql 4.11] Select sur la taille d'une chaine de caractère
    Par epeichette dans le forum Requêtes
    Réponses: 8
    Dernier message: 19/06/2007, 09h50
  3. Réponses: 8
    Dernier message: 06/05/2007, 21h47
  4. Réponses: 4
    Dernier message: 01/02/2007, 19h06
  5. Réponses: 5
    Dernier message: 26/07/2006, 11h13

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