|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Développeur informatique Inscription : avril 2008 Messages : 410 ![]() |
Bonjour,
j'ai une table toute simple 1 seul champ dans laquelle je mets des Varchar. Elle ne contient que des nombres mais pour des soucis de manipulations aval, je préfère la laisser en Varchar. Elle peut contenir par exemple : 1 2 4 12 34 Et le problème, c'est que quand je fais mon select by order, le 2 est après le 12 (logique). Mais je voudrais classer des VarChar par leur valeurs entières, tout en les laissant en char, est-ce possible? |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : juin 2008 Messages : 146 ![]() |
On peut appliquer la fonction DECIMAL sur une zone en CHAR, sous réserve qu'elle ne contienne que du numérique et des blancs. Je ne me souviens plus si c'est possible sur une zone en VARCHAR. A essayer !
Soit tu peux et dans ce cas tu écris : SELECT DECIMAL(ZONE) FROM TAB ORDER BY 1 Sinon, tu transformes d'abord VARCHAR en CHAR puis en DECIMAL, ce qui donnerait : SELECT DECIMAL(CAST(ZONE AS CHAR(10))) FROM TAB ORDER BY 1 Si tu souhaites récupérer la "vraie" valeur de ZONE, il faut sélectionner 2 expressions : SELECT ZONE, DECIMAL(ZONE) FROM TAB ORDER BY 2
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Développeur informatique Inscription : avril 2008 Messages : 410 ![]() |
SELECT * FROM SCHEMA.TABLE ORDER BY DECIMAL(ALLEE) ASC
marche niquel!!!! Thank U |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com