Ich arbeite mit einer Tabelle, die von einer externen Quelle kommt, und kann nicht "gereinigt" werden. Es gibt eine Spalte, die ein nvarchar (20) enthält und eine Ganzzahl von ungefähr 95% der Zeit enthält, aber gelegentlich ein Alpha enthält. Ich möchte etwas verwenden, wieSQL Server: sortiere eine Spalte wenn möglich numerisch, sonst alpha
select * from sch.tbl order by cast(shouldBeANumber as integer)
aber dies wirft einen Fehler auf der ungeraden „3A“ oder „D“ oder „abgelöst“ -Wert.
Gibt es eine Möglichkeit zu sagen "Sortiere es wie eine Nummer, wenn du kannst, ansonsten einfach nach String sortieren"? Ich weiß, dass diese Aussage etwas schlampig ist, aber das ist im Grunde das, was ich will.
Hier können zum Beispiel sagen, dass die Werte waren
7,1,5A,SUPERCEDED,2,5,SECTION
ich glücklich sein würde, wenn diese in einem der folgenden Arten sortiert wurden
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
(weil ich wirklich nur mit den numerischen diejenigen arbeiten müssen)
wow, das war q iuick! Danke an alle – jlarson