Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1547 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  classee un champ de type char

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

classee un champ de type char

n°1681711
ghizou771
Posté le 04-02-2008 à 23:20:27  profilanswer
 

Bonjour
 
Lorsque j'execute cette requete :  
 
select poste,num_avis from avis
where poste=1
order by num_avis
vu que num_avis et declaré Char(6) je recois le resultat suivant :
 
poste      num_avis      
  1            1              
  1            10            
  1            18            
  1            2              
  1            26            
  1            3              
 
Mais je veux avoir comme resultat :
 
poste      num_avis      
  1            1              
  1            2              
  1            3              
  1            10            
  1            18            
  1            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  
 
 
 
 
 
 
     

mood
Publicité
Posté le 04-02-2008 à 23:20:27  profilanswer
 

n°1681766
couak
Posté le 05-02-2008 à 09:17:34  profilanswer
 

bah c'est un peu bête de mettre des nombres dans un champ char...
et comme d'hab il faut dire sur quel sgbd tu bosses :fou: ca devient une mauvaise habitude ici
comme on a pas cette info, cherches du côté des fonctions de transformation de chaînes de caractères

n°1681978
ghizou771
Posté le 05-02-2008 à 14:23:42  profilanswer
 

Re
ma base de donnée et developpée  sous informix et j ai un servuer UNIX

n°1684750
MagicBuzz
Posté le 11-02-2008 à 10:58:18  profilanswer
 

trois solutions :
 
- lors du select, cast la colonne en number.
exemple de syntaxe avec Oracle :

Code :
  1. SELECT poste,num_avis FROM avis
  2. WHERE poste=1
  3. ORDER BY to_number(num_avis)


 
- utilise une fonction de padding afin d'ajouter des 0 ou espaces facultatifs devant la série de chiffres, afin que le tri alphabétique fonctionne
exemple de syntaxe Oracle :

Code :
  1. SELECT poste,num_avis FROM avis
  2. WHERE poste=1
  3. ORDER BY lpad(num_avis, 2, '0')


 
- si le sgbd le supporte utilise le natural sort
pas d'exemple de syntaxe, ça n'existe que sous mysql et postre/sql à ma connaissance, et c'est pas standard


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  classee un champ de type char

 

Sujets relatifs
problème avec un formulaire : champ non définiinitialisation de tableau à type variable
[HTML] Sécuriser les champ de tpye "mot de passe"[php / mysql] Numéros de page et tri sur champ date
[PHP] oracle et paramètre de type date ( ou alors sysdate ;) )hyperlien dynamique dans un champ texte
[OpenGL] Afficher un champ de vecteurs dynamique[JS] Probleme d'acces a un champ text
Probleme de type incompatible 
Plus de sujets relatifs à : classee un champ de type char


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR