Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#1

Eigene Sortierung

  Alt 19. Aug 2022, 12:19
Datenbank: Firebird • Version: 3.x • Zugriff über: IBDAC
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
Code:
1
11
2
A
B
C
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:
Code:
1
2
11
A
B
C
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.
  Mit Zitat antworten Zitat