Hallo,
ich habe eine Tabelle mit einem Varchar-Feld. In diesem Feld sind sowohl Texte als auch Zahlen abgespeichert. Zum Beispiel die Ausgabe mit:
Code:
select MyField from MyTable order by MyField
Zu sehen ist, dass die 11 vor der 2 sortiert wird, weil die Zahlen als Text gespeichert sind. Ich möchte nun, dass die Zahlen so sortiert werden, wie man es von Zahlen erwartet und die Texte so wie immer:
Mein Versuch:
Code:
select MyField from MyTable
order by iif(MyField SIMILAR TO '[0-9]+', cast(MyField as Integer), 000)
Das funktioniert so, aber nur für die Zahlen. Was muss ich an Stelle der 000 eintragen, damit auch Texte sortiert werden? Da müsste man irgendwie aus den Texten eine Zahl für den Sortiervergleich erstellen.