Alphanumerische Spaltensorierung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

nikki
******
Beiträge: 787
Registriert: Do, 05.03.2015 10:42

Re: Alphanumerische Spaltensorierung

Beitrag von nikki »

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.
Gruß

---------------------------------------------------------
Win.10 Prof. 64-bit, AOO 4.1.7, LO 6.3.4 (x64)
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Alphanumerische Spaltensorierung

Beitrag von RobertG »

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
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Alphanumerische Spaltensorierung

Beitrag von RobertG »

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
Antworten