Votre question

[RESOLU]fonctions qui peut convertir une chaine de caractère en entier

Tags :
  • Select
  • Programmation
Dernière réponse : dans Programmation
1 Mars 2007 17:55:08

Bonjour a tous et a toutes :bounce: 

Je voulais juste savoir s'il existait une fonctions qui pourrait me permettre de convertir une chaine de caractère en entier .

le resultat de ma requete etant une chaine de caractère ,je voudrais la convertir en entier afin de pouvoir la trier comme je le veux

la requete est la suivante :

SELECT * FROM compagnies ORDER BY effectif DESC (effectif étant le nombre de salaries et effectif est un varchar)

Ma requete me permet de faire le trie des salarie des compagnies avec un trie descroissante seulement le IC c'est que comme c'est un VARCHAR
782 est plus que 72500 et c'est pas vraiment ce que je veux

Avec cette fonction je pourrais avoir une résultat un peu plus cohérent

Si quelqu'un connait la réponse alors qu'il le dise

A pluche

Autres pages sur : resolu fonctions convertir chaine caractere entier

1 Mars 2007 19:01:07

Salut,
Il faudrait plus d'informations... quel est le SGBD que tu utilises ? Si c'est Oracle tu peux utiliser la fonction TO_NUMBER(chaine) :
SELECT * FROM compagnies ORDER BY TO_NUMBER(effectif) DESC
Sinon, y a-t-il une bonne raison pour que cette colonne soit de type VARCHAR ? Il serait plus logique d'utiliser un NUMBER...
Si ce n'est pas Oracle, désolé je n'ai pas la solution... (ça fait longtemps que j'ai pas utilisé autre chose, alors je suis un peu rouillé...)
2 Mars 2007 09:24:30



Citation :
y a-t-il une bonne raison pour que cette colonne soit de type VARCHAR ? Il serait plus logique d'utiliser un NUMBER...

Pour ce qui est du fait que ce n'est pas en INT, je ne sais pas du tout ce n'est pas moi qui est cré la BDD

Citation :
Si ce n'est pas Oracle, désolé je n'ai pas la solution... (ça fait longtemps que j'ai pas utilisé autre chose, alors je suis un peu rouillé...)

dsl Mais c'est pas Oracle, c'est Mysql

Merci comme meme
Contenus similaires
2 Mars 2007 10:58:50

essaye
  1. order by cast (effectif as signed) desc

2 Mars 2007 11:09:36

Merci de ton aide Coca25

Citation :
Code :o rder by cast (effectif as signed) desc


Mais la connection est impossible

Citation :
Connection impossible !
SELECT * from compagnies ORDER BY CAST (C_eff as signed) desc
Erreur de syntaxe près de '(C_eff as signed) desc' à la ligne 1


Franchement comprend pas !
2 Mars 2007 11:18:49

enleve l'espace entre cast et (
et t'es sur de ta requete?
dans ton premier post, tu parles de la colonne effectif et la de C_eff??
2 Mars 2007 11:28:12

excuse C_eff et effectif ne sont qu'une et une seule chose

ct pour l'exemple c'est de dire effectif que C_eff

c plus compréhensible

Citation :
t'es sur de ta requete?


sinon pour ma requete oui je suis sur que c bon juste ce truc enormement chiant de VARCHAR
2 Mars 2007 11:32:47

coca25 a dit :
enleve l'espace entre cast et (

et t'as fait ca ou pas?


  1. mysql> select * from c order by ordre;
  2. +----+-------+
  3. | id | ordre |
  4. +----+-------+
  5. | 1 | 1 |
  6. | 3 | 10023 |
  7. | 2 | 110 |
  8. +----+-------+
  9. 3 rows in set (0.00 sec)
  10.  
  11. mysql> select * from c order by cast(ordre as signed);
  12. +----+-------+
  13. | id | ordre |
  14. +----+-------+
  15. | 1 | 1 |
  16. | 2 | 110 |
  17. | 3 | 10023 |
  18. +----+-------+
  19. 3 rows in set (0.00 sec)
2 Mars 2007 11:33:30

Citation :
enleve l'espace entre cast et (


En faite le cast fonctionne c'était juste l'espace qui faisait que ca ne fonctionnait pas

Merci coca25
2 Mars 2007 11:35:35

Tu n'as pas moyen de modifier la base de données ???

Enfin je sais pas mais se serait plus simple et plus logique de mettre un type "entier" pour un effectif....

Encore une base de donnée codées avec des pieds quoi.....
2 Mars 2007 11:39:41

En fait c'est ce que je pense au départ mais les effectifs qui se trouvent dans la table sont insérés avec des virgules donc VARCHAR


Et comme c'est pas moi qui l'ai créé ...

Voila sinon le résultat finale de ma requete c'est :

SELECT * FROM nomTable ORDER BY cast(effectif as signed)desc

Voila a pluche pour de nouvelles questions
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS