Bonjour

Dans une requête, je suis en train d'effectuer un tri sur une colonne qui normallement a des valeurs numériques (bien que la colonne soit de type text).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT value, description FROM table  
ORDER BY cast(value as int)
Cependant, dans des rares cas, la colonne aura des valeurs textuelles, ainsi, ma requête échouera.
Sachant que je ne peux pas modifier mon schéma de base de données, a-t-il un moyen de tester la valeur présente dans la colonne dans le order by afin de faire ou non le cast?

exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT value, description FROM table  
ORDER BY CASE value isnumeric THEN cast(value as int)
   ELSE value
   END
merci!