Entwickler-Ecke
Datenbanken - Sortierung unter Interbase???
CenBells - Fr 29.08.03 14:57
Titel: Sortierung unter Interbase???
Hallo Leute,
ich habe eine Interbase 6.0 Tabelle. Diese Tabelle hat eine Spalte name. Nun möchte ich die ausgabe eines Selects nach dem namen ordnen (mittels ORDER BY Name) Das klappt auch - fast. ich habe allerdings auch Namen, wie Fanta und FIXX eingegeben und da taucht das problem auf.
Ich weiß nicht, warum FIXX vor Fanta ausgegeben wird?
Ich habe schon alle mögliche Zeichensätze ausprobiert, komme aber dennoch nicht weiter. Kann mir jemand helfen?
Gruß
Ken
neojones - Fr 29.08.03 15:25
Weil das große "I" an der zweiten Stelle in "FIXX" höherwertig ist als das kleine "a"....
CenBells - Fr 29.08.03 17:29
Hallo neojones,
das habe ich ja auch verstanden. Allerdings ist es im Explorer nicht so... Und genau so, wie im explorer erwarten die kunden das. Also, groß und kleinschreibung soll nicht bei der Ordenung ausschlaggebend sein.
Also, welcher ZEichensatz muss das dann sein?
Gruß
ken
neojones - Fr 29.08.03 18:22
Weiß ich nicht genau. Kannst Du das ORDER BY mit einem LOWER_CASE ausführen?
Dann hättest Du das Problem erst gar nicht.
hansa - Fr 29.08.03 19:07
normalerweise verwendet man ISO8859_1.
CenBells - So 31.08.03 16:48
Hallo,
ich habe diesen ISO zeichensatz ausprobiert und bekomme auch dort die komische sortierung. Was muss ich denn noch beachten?
Gruß
Ken
hansa - Fr 05.09.03 13:16
ich wandele sowieso beim Suchen/Sortieren immer alles in Großbuchstaben um und Basta. Ich vergleiche also auf SQL-Seite mit UPPER und in Delphi den Suchbegriff mit UpCase. Und halt ISO8859_1. Klappt bisher alles.
CenBells - Sa 06.09.03 01:28
Du sortierst also auch mit
select bla from tabelle
order by UPPER(bla)
???
das teste ich mal... Suchen macht bei mir keine Probleme, nur Sortieren ist halt irgendwie komisch...
Gruß
Ken
hansa - Sa 06.09.03 11:01
Ist das doch noch aktuell?
So kann man z.B. einen Artikel suchen:
Delphi-Quelltext
1:
| ArtDS.SelectSQL.Text := 'SELECT * FROM ART WHERE UPPER (BEZ) LIKE UPPER (''%' + LabeledEdit1.Text + '%'') ORDER BY NR'; |
Hierbei kann ich nach "Zwetschgen" suchen. :shock: Selbst wenn ich nicht weiß, wie das geschrieben wird und gebe nur "sch" ein, wirds gefunden. Für Dein Problem dürfte allerdings das UPPER genügen. Also das % und LIKE braucht man für eine Sortierung nicht. Ich muß die Suche nun mal DAU-sicher machen. :mrgreen: Wie ich jetzt selber sehe mache ich das alles mit SQL.
CenBells - Sa 27.09.03 20:47
Hallo,
das thema ist zwar schon ein bisserl älter, aber jetzt bin ich mal wieder dazu gekommen, mich drum zu kümmern.
@Hansa, du hast vorgeschlagen
Quelltext
1: 2:
| SELECT * FROM Artikel ORDER BY Upper(Name); |
Ich habe das nun ausprobiert. -> Leider funktioniert das
nicht.
Jetzt habe ich auch mal ne Datenbank mit dem Charset ISO8859_1 erstellt und einige Datensätze eingegeben. Dort ist das Problem noch extremer. Die Sortierung sortiert schon den ersten Buchstaben anders.
Postkarte kommt vor kantine. Aber Test kommt nach Postkarte... Also,
Postkarte
Test
kantine
Kann mir jemand helfen, damit die sortierung ordentlich durchgeführt wird?
Gruß
Ken
hansa - Sa 27.09.03 21:40
hier ist vorab was mit der WHERE - Klausel:
http://tutorial.steelarrow.com/sqltutorial/Where.aro
Darauf kommt es an, ich sortiere also nur nach Großbuchstaben, zumindest aus Sicht der DB. Wie ich das dann letztendlich anzeige ist egal.
wird wohl nicht gehen. Siehe Link. Nötig ist es sowieso nicht.
hansa - Sa 27.09.03 22:01
Das Tutorial hier ist das was ich meinte, nicht das von vorher, das habe ich vorhin erst entdeckt (Verwechslung). Sieht aber auch gut aus.
http://www.w3schools.com/sql/
CenBells - Sa 27.09.03 22:24
So, jetzt habe ich den Hasen gefangen.
@Hansa: Also, ich meinte Sortierung. Du sprichst aber die ganze zeit von "Where". Das bezieht sich aber auf Suchen und Filtern. Darum geht es mir nicht.
Ich habe das problem jetzt behoben. Es liegt an der ausgabe der Selektierten datensätze. Dies lässt sich mittels Order By name Collate DE_DE; beeinflussen
Gruß
Ken
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!