![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Umlaute
Firebird Sortierung Umlaute
Hallo zusammen,
wenn ich eine FirebirdDB her nehmen und per ISO8859_1 collate de_de einrichte und dann ein
Code:
mache, werden die Umlaute anscheinen nach DIN 5007 Var1 (ä=a) sortiert:
Select Name from Kunde order by 1
Baumgartner Bäumel Baumüller Gibt es eine Möglichkeit nach DIN 5007 Var2 zu sortieren (ä=ae)? Oder ist das dann nur clientseitig möglich? Grüße |
AW: Firebird Sortierung Umlaute
Oder eine andere Collation einstellen bzw. einrichten.
|
AW: Firebird Sortierung Umlaute
Oder (wenn auch etwas umständlich):
PHP-Quellcode:
Select
Name from Kunde order by replace(replace(replace(Name, 'ä', 'ae'), 'Ä', 'Ae'), 'ö', 'oe') -- usw |
AW: Firebird Sortierung Umlaute
Ich bin nicht ganz sicher, aber evtl. gibt es auch bei Firebird das COLLATE in der ORDER BY-Klausel.
|
AW: Firebird Sortierung Umlaute
Zitat:
|
AW: Firebird Sortierung Umlaute
Vielleicht hilft das
SQL-Code:
create collation ISO8859_1_UNICODE for ISO8859_1;
![]() |
AW: Firebird Sortierung Umlaute
nope, Sortierung bleib bei lexikalischer Sortierung (ä=a) und nicht wie gewünscht Telefonliste (ä=ae)
|
AW: Firebird Sortierung Umlaute
Jo, kann man auch im ORDER BY angeben.
![]() ![]() Die Collation gibt an, unter welchen sprachlichen Regeln die Sortierung und Indizierung vorgenommen werden, also wie der Stringverleich arbeitet, denn je nach Sprache gibt es da Unterschiede. Das betrifft nicht nur die Buchstaben und Sonderzeichen, sondern auch die Groß-/Kleinschreibung. |
AW: Firebird Sortierung Umlaute
Zitat:
Und um alle Klarheiten zu beseitigen:
Code:
bringt genau das gleiche "falsche" Ergebnis - jetzt sogar mit einer eigenen Sortierspalte:
Select Name from Kunde order by 1 collate de_de
Und nein, eine Sortierspalte ist nicht wirklich hilfreich, da es nicht nur eine Tabelle betrifft.... Grüße |
AW: Firebird Sortierung Umlaute
Zitat:
Oder die ATTRIBUTE mit der passenden LOCALE. ![]() Wieso eine Sortierspalte? ORDER BY mit "passendem" COLLATE und schon wird die originale Spalte anders sortiert, als es die COLLATION der Spalte (in der Tabelle) definiert hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 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