Je travaille avec une table qui provient d'une source externe et ne peut pas être "nettoyée". Il y a une colonne qui contient un nvarchar (20) et contient un entier environ 95% du temps, mais contient parfois un alpha. Je veux utiliser quelque chose commeSQL Server: trier une colonne numériquement si possible, sinon alpha
select * from sch.tbl order by cast(shouldBeANumber as integer)
mais cela génère une erreur sur la cote « 3A » ou « D » ou la valeur « supplantées ».
Existe-t-il un moyen de dire "le trier comme un nombre si vous le pouvez, sinon juste trier par chaîne"? Je sais qu'il y a une certaine négligence dans cette déclaration, mais c'est essentiellement ce que je veux.
Disons que par exemple les valeurs étaient
7,1,5A,SUPERCEDED,2,5,SECTION
Je serais heureux si ceux-ci ont été classés dans l'une des façons suivantes (parce que je vraiment besoin de travailler avec les numériques)
1,2,5,7,5A,SECTION,SUPERCEDED
1,2,5,5A,7,SECTION,SUPERCEDED
SECTION,SUPERCEDED,1,2,5,5A,7
5A,SECTION,SUPERCEDED,1,2,5,7
wow, c'était q uick! merci tout le monde – jlarson