select LPad(O_Nr,10,0) As IntegerAlsString from tabelle order by IntegerAlsString
LPad:
Erster Parameter ist die zu verarbeitende Spalte.
Zweiter Parameter ist die Länge, auf die diese Spalte linksbündig aufgefüllt werden soll.
Dritter Parameter ist das Zeichen, mit dem linksbündig aufgefüllt werden soll.
Im Beispiel wird die Spalte O_Nr linksbündig auf insgesamt zehnstellig mit Nullen aufgefüllt.
Code:
22 -> 0000000022
234 -> 0000000234
3 -> 0000000003
4567 -> 0000004567
48 -> 0000000048
Es sollte aber auch so gehen:
select * from tabelle order by lpad(O_Nr,10,'0')
Sollen die Zahlen jedoch rechtsbündig aufgefüllt werden, dann wäre sowas möglich:
select * from tabelle order by RPad(O_Nr,10,'0')
Was LPad nach links macht, macht RPad nach rechts.