Klawischnigg: Sortierfolge unter früheren Mysqlversionen

Hi there,

kennt jemand für mysqlversion 3.2 eine Möglichkeit, die Sortierfolge zu ändern? Mysql ab Version 5 kennt order by x collate; darauf kann ich leider nicht zurückgreifen. Gibts etwas ähnliches oder einen Workaround? Offenbar hat es früher niemanden gestört, daß "Äffchen" nach "Zebra" geordnet wird? ;)

  1. Hi,

    höchstens ein Workaround. Nutze String-Ersetzung während der Abfrage (langsam) oder eine zusätzliche Spalte in der Texte mit ersetzten Zeichen dauerhaft gespeichert werden (schneller, aber Platzverschwendung).
    Variante 1 wäre schematisch etwa
    SELECT
    FROM
    WHERE
    ORDER BY REPLACE(....)
    wobei man natürlich zahlreiche REPLACEs für alle Umlaute bräuchte, und da wirds dann teuer.

    MfG
    Rouven

    --
    -------------------
    There's no such thing as a free lunch  --  Milton Friedman
    1. Hi there,

      höchstens ein Workaround.

      unsere schwedischen Freunde...

      .. oder eine zusätzliche Spalte in der Texte mit ersetzten Zeichen dauerhaft gespeichert werden (schneller, aber Platzverschwendung).

      Egal, das ist eine gute Idee, zumindest besser als jede, die mir heute dazu gekommen ist...

      1. echo $begrüßung;

        unsere schwedischen Freunde...

        Das ist das Stichwort, denn die Default-Einstellung ist schwedisch.
        Das Online-Handbuch, obwohl neben Version 4.1 mit 3.23 und 4.0 beschriftet, ignoriert Eigenheiten der letztgenannten Versionen oftmals. Aber die Userkommentare zum Kapitel Using the German Character Set sollten helfen. Ansonsten noch das zur Version (Version 3.2? Gab es die öffentlich? Du meinst sicherlich irgendwas zwischen 3.20 und 3.23.) gehörende Handbuch befragen. Für Version 3.23.58 ist es das Kapitel 4.6 und speziell 4.6.1.1 (was aber, liest man die oben erwähnten Online-Kommentare, nicht ganz richtig ist.)

        Zusammengefasst: Eingestellt werden soll --default-character-set=latin1_de, die Userkommentare sagen aber, dass nur german1 funktioniert.

        echo "$verabschiedung $name";

        1. Hi there,

          Zusammengefasst: Eingestellt werden soll --default-character-set=latin1_de, die Userkommentare sagen aber, dass nur german1 funktioniert.

          Danke für die Information, leider nur - könnte ich den default-character-set einstellen, dann könnte ich auch eine aktuellere Version installieren. Ich hab' die Lösung von Rouven gewählt, ein Feld namens XNAME hinzugefügt und einfach Umlaute Umlaute sein lassen. Das ist zwar etwas umständlich, funktioniert aber ohne jede Voraussetzung. Ehe ich hier dem Provider eines Kunden in den ***** trete;)