netzheimer
Goto Top

Zahlen im Textfeld sortieren

das 1 2 3 / 1 10 2 3 - Problem

Die Problematik ist mir bekannt. Es gibt ja für jede Sortierart auch eine entsprechende Bezeichnung, z.B. German_Phonebook_CS, ...

Wie heißt denn die Sortierung der Zahlen nach der Folge 1, 10 , 2, 3?

Und wie das Gegenstück 1, 2, 3, ...10?

Danke für euere Hilfe

Daniel

Content-Key: 101957

Url: https://administrator.de/contentid/101957

Printed on: April 23, 2024 at 11:04 o'clock

Member: Biber
Biber Nov 17, 2008 at 10:35:51 (UTC)
Goto Top
Moin Netzheimer,

worum muss ich denn jeden Fragesteller im Bereich Datenbanken darum bitten, dass er seinen MSSQL-Server beim Namen nennen möge, weil sich sonst Datenbankfragen nur ganz flauschig beantworten lassen?
Und das montagmorgens?

Anyhow,

beim M$-SQLServer gibt es (vergleichbar wie auch bei mySQL, Oracle und DB2) den Begriff der Collations, mit der Du
  • die länderspezifische Sortierung ("landesspezifisches Alphabet")
  • zusätzlich die Berücksichtigung von Accents
  • der Gross/Kleinschreibung
  • oder der Binär-Sortierung
  • weniger relevant für uns: [kana- oder nicht Kana-Sortierung]
  • ebenfalls praxisfern: Width-Berücksichtigung bei Unicode-Zeichen, die mehrere byte beanspruchen

Die länderspezifische Sortierung, z.b. Latin1-General kann ergänzt werden um "_CS" oder "_CI" für case-sensitiv/Case-insensitiv, analog "_AS"/"_AI" oder eben "_bin" für binar.

Damit lässt sich aber nur der Teil "Und wie heißt das Gegenstück..?" abbilden.

Für eine "nummerisch sortierte" Textfeldsortierung gibt es keine Collation.
Muttu selbst sortieren.

Grüße
Biber
Member: Netzheimer
Netzheimer Nov 17, 2008 at 13:14:56 (UTC)
Goto Top
Es ist hier ein SQL-Server-2005.

Den Teil mit Collate habe ich vorher schon verstanden. Eine Bezeichnung für das andere Problem ist anscheinend nur: "Zahlen alphabetisch sortieren".

Egal welches System man wählt, die Null kommt immer vor der Eins, damit beißt es sich ja immer.

Kann nicht mal jemand eine "Leading_Numbers_in_Text_CS..." erfinden?
Member: Biber
Biber Nov 17, 2008 at 14:17:37 (UTC)
Goto Top
Moin Netzheimer,

vielleicht versteh ich ja nicht die Ernsthaftigkeit dieses Problems...
Du kannst doch, wenn Du in diesem ominösen Textfeld immer Zahlen stehen hast (wie auch immer das passieren konnte), nach diesem Zahlenwert ASC oder DESC sortieren lassen mit einem einfachen
SELECT * From DyTable
ORDER BY CAST (DyTextFeld as integer)

Grüße
Biber
Member: Netzheimer
Netzheimer Nov 18, 2008 at 07:19:53 (UTC)
Goto Top
Werde ich versuchen. Danke.

Schade, dass es das nicht als Clickiclicki gibt.