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

Informix Discussion :

classer un champ de type char


Sujet :

Informix

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 31
    Points
    31
    Par défaut classer un champ de type char
    Bonjour

    Lorsque j'execute cette requete :

    select num_avis from avis
    where poste=1
    order by num_avis
    vu que num_avis et declaré Char(6) je recois le resultat suivant :

    num_avis
    1
    10
    18
    2
    26
    3

    Mais je veux avoir comme resultat :

    num_avis
    1
    2
    3
    10
    18
    26

    Y a t il SVP un moyen pour que j ai ce resultat, parceque je ne peux pas changer la declaration du champs num_avis

    merci infiniment pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Salut,

    essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST (num_avis AS INT) FROM avis
    je n'ai pas testé, pas sur que ca fonctionne avec une base informix

    tiens nous au courant stp

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 31
    Points
    31
    Par défaut classer un champ de type char
    Re,
    t as raison je viens de faire le test et ca marche pas avec une base de donnée informix

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Arf dommage

    sinon tu utilise quel langage pour traiter les donnees? avec le langage que tu utilise tu doit surement pouvoir le faire!
    directement en sql, je ne vois pas trop d'autre solutions malheureusement.

  5. #5
    Invité
    Invité(e)
    Par défaut Tri "integer" d'un champ "char"
    Bonjour,

    Je propose trois solutions, sans garantir la première (je n'ai plus la possibilité de tester). Ma deuxième solution (garantie) part du principe que avis.num_avis n'est que sur un ou deux chiffres. Si avis.num_avis peut être renseigné sur 6 chiffres, il suffit d'adapter la solution en conséquence. Ma troisième solution est à vérifier, si la clause "ORDER BY" n'influence pas le dernier "SELECT", je pense que la création d'un index peut s'y substituer.

    1ère solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select   avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis < "10"
    order by avis.num_avis
     
    UNION
     
    select   avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis > "9"
    order by avis.num_avis;
    2ème solution :
    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
    16
    select   "00" cod_avis,
             avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis < "10"
     
    UNION
     
    select   "10" cod_avis,
             avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis > "9"
     
    order by 1,
             2;
    3ème solution :
    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
    16
    17
    18
    19
    20
    select   "00" cod_avis,
             avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis < "10"
     
    UNION
     
    select   "10" cod_avis,
             avis.num_avis
    from     avis
    where    avis.poste    = 1
    and      avis.num_avis > "9"
     
    order by 1,
             2
    into TEMP t0;
     
    select   t0.num_avis
    from     t0;
    Dernière modification par Invité ; 06/02/2008 à 14h45.

Discussions similaires

  1. Aide conversion champs de type char en champ datetime
    Par litlepom dans le forum Développement
    Réponses: 9
    Dernier message: 10/03/2011, 19h18
  2. Tri d'un champ de type char
    Par bourbita.thameur dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/03/2009, 17h52
  3. [CR][7]Tri d'un champ de type Char
    Par clementratel dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 11/02/2008, 15h50
  4. Classer un champ type texte par ordre numérique
    Par Mariboo dans le forum Access
    Réponses: 8
    Dernier message: 15/06/2006, 16h45
  5. UPDATE en ajoutant un 0 sur un champ de type "char"
    Par doum2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/03/2006, 15h22

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