Alphanumerische Spaltensorierung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Alphanumerische Spaltensorierung

Re: Alphanumerische Spaltensorierung

von RobertG » Do, 11.05.2017 12:00

Hallo JazzJack,

das liegt daran, dass Deinem Post eine wesentliche Information fehlt. Es scheint, dass Du mit PostgreSQL arbeitest, nicht mit der internen Datenbank von Base, der HSQLDB. Für PostgreSQL habe ich nicht die Zeit, mir eine Testumgebung zusammen zu bauen.

Es kann natürlich auch sein, dass der Fehler darin liegt, dass Du Texte hast, die mit 2 Buchstaben anfangen. So könnte die Fehlermeldung auch zu deuten sein. Oder Du hast einen Text " L1" irgendwo stehen - mit führendem Leerzeichen.

Gruß

Robert

Re: Alphanumerische Spaltensorierung

von RobertG » Mi, 10.05.2017 21:47

Hallo JazzJack,

ist natürlich etwas durch die Brust ins Auge, aber:

Code: Alles auswählen

SELECT "Text" FROM "Tabelle" ORDER BY LEFT("Text",1), CAST(RIGHT("Text",LENGTH("Text")-1) AS INTEGER)
Das nimmt an, dass nur zu Beginn ein Buchstabe steht. Nach diesem einen Buchstaben wird zuerst sortiert. Der Rest wird in eine Ganzzahl (INTEGER) umgewandelt und dann wird nach dieser Zahl sortiert.

"Text" ist das Feld mit Deinem A1, A12, A2 ...
"Tabelle" natürlich irgendwie der Tabellenname.

Gruß

Robert

Re: Alphanumerische Spaltensorierung

von nikki » Mi, 10.05.2017 21:07

Hallo,
bei alphanumerischen Werten ist A2 nun mal größer als A10 (es wird von links nach rechts sortiert). Du müsstest A2 schlicht und einfach durch A02 ersetzen.

Nach oben