![]() |
Spalte mit Nummern "richtig" sortieren
Moin!
Ich habe in einer Tabelle eine Spalte mit Zahlen beginnend bei 1 ohne vorangestellte Nullen. Wenn ich die Spalte jetzt per SQL-Befehl sortieren will, fängt er mit 10 an, nach der 19 kommt die 1 dann die 20 usw. Wie bekomme ichs hin, dass bei 1 beginnend sortiert wird, ohne Nullen voranzustellen? Gruß Gambit |
Re: Spalte mit Nummern "richtig" sortieren
Hallo Gambit,
dann nimm eine Spalte vom Typ Integer und nicht Character! |
Re: Spalte mit Nummern "richtig" sortieren
Jepp, gute Idee! Ich hatte nur vergessen, dass nicht nur Zahlen, sondern auch Buchstaben in der Spalte vorkommen also z.B 4 E oder 22 K.
Mein Fehler, sorry... Gambit |
Re: Spalte mit Nummern "richtig" sortieren
Ich hab genau das gleiche Problem.
Der Typ meiner Spalte in der Datenbank ist aber schon auf char. Oder kann ich das evtl. beim DropDown-Ereignis auch noch "richtig" sortieren lassen.
Delphi-Quellcode:
bringt eben das von Gambit unerwünschte Ergebnis.
Combo.sorted := true
|
Re: Spalte mit Nummern "richtig" sortieren
Beim folgenden Code wird dir Spalte F1 beim sortieren nach vorne mit Nullen aufgefüllt ( lPad(F1,5,'0') - Die 5 durch die wirkliche Länge ersetzen)
1 -> 00001 11 -> 00011 ...
SQL-Code:
Damit umgeht man das Problem, dass 11 vor 2 sortiert wird.
SELECT F1, F2, ...
FROM IrgendeineTabelle WHERE ... ORDER BY lPad(F1,5,'0') lPad ist eine Oracle-Funktion und könnte in eurer DB anders heißen & andere Parameter verlangen. Eine DB, die was taugt wird schon ein Gegenstück zu der Funktion bieten. |
Re: Spalte mit Nummern "richtig" sortieren
jau, so sollte es gehen. Ich benutze MySQL, mal sehen, was es da gibt...
Gruß Gambit |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz