Textfeld numerisch sortieren
Andrea
- asp.net
Hallo
Ich habe in meiner Seite eine DB-Abfrage. Die sollte ich sortieren. Eigentlich
stehen da nur Zahlen drin, weil sie aber z.T. mit _ getrennt sind, ist das Feld
halt als Text definiert.
Kann mir bitte jemand sagen, ob das dann in meiner SQl-Abfrage numerisch sortieren
kann?
also, z.b 301_1, 301_2, 301_3...
jetzt kommts so: 301_1, 301_10, 301_2, ...
Gruss
Andrea
Hi,
vielleicht kannst du versuchen es nach
LENGTH(feld), feld
zu sortieren.
Viel Glück!
Rouven
Servus
also, z.b 301_1, 301_2, 301_3...
jetzt kommts so: 301_1, 301_10, 301_2, ...
Das kann ich mir nicht vorstellen. Durch den _ ist es und bleibt text und die logische Sortierung liegt im Filter deines Auges und die kann sql nicht kennen.
Kannst Du aus 301_1 nicht 301_001, etc machen. Dann geht es vielleicht.
bydey
Hallo Andrea,
...,weil sie aber z.T. mit _ getrennt sind, ist das Feld
halt als Text definiert.
Kann mir bitte jemand sagen, ob das dann in meiner SQl-Abfrage numerisch sortieren
kann?also, z.b 301_1, 301_2, 301_3...
jetzt kommts so: 301_1, 301_10, 301_2, ...
Da du der Rubrick ASP gepostet hast, nehme ich mal an, du arbeitest
mit einer Access-DB. Da könnte folgende SQL-Abfrage das gewünschte Ergebnis liefern.
SELECT CInt(Mid([feld1],1,InStr([feld1],"_")-1)) AS ersterTeil,
CInt(Mid([feld1],InStr([feld1],"_")+1)) AS zweiterTeil,
Feld1
FROM Tabelle1
ORDER BY CInt(Mid([feld1],1,InStr([feld1],"_")-1)),
CInt(Mid([feld1],InStr([feld1],"_")+1));
So ähnlich sollte es auch mit anderen DB bzw. SQL-Dialekten
funktionieren.
Viele Grüße
Stefan