Sortierte Abfrage inkl. Umlaute

keine_frage_ist_zu_dumm

Neuer Benutzer
Beiträge
4
Hallo liebe Profis :),

ich habe folgendes Problem, zu dem ich über die Suche keine wirkliche Hilfe gefunden habe, wahrscheinlich weil jeder "gelernte" die Lösung schon in der Grundausbildung erhält.

Ich nutze folgende Abfrage, um Daten aus einer SQL-Datenbank (Version 4) auszulesen:

SELECT Name, PLZ, Ort FROM `Tabelle1` WHERE Name LIKE '%A%' ORDER BY Name

Die sortierte Ausgabe sieht dann wie folgt aus:

AAA
ZAA
ÜAA

Natürlich hätte ich aber den Namen, der mit Ü beginnt gerne in der Mitte stehen. Als gedachte Lösung habe ich gelesen, dass man COLLATE benutzen kann. Vielleicht habe ich den Befehl falsch verstanden oder benutze diesen falsch, denn wenn ich die Abrage wie nachfolgend erweitere, ergibt die Suche gar keine Treffer mehr:

SELECT Name, PLZ, Ort FROM `Tabelle1` WHERE Name LIKE '%A%' ORDER BY Name COLLATE latin1_german2_ci

Für Hilfe bin ich dankbar, bitte mit Lösung, die ich Copy/Pasten kann, da mein Wissen leider nur sehr rudimentär ist...
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.523
Hallo liebe Profis :),

ich habe folgendes Problem, zu dem ich über die Suche keine wirkliche Hilfe gefunden habe, wahrscheinlich weil jeder "gelernte" die Lösung schon in der Grundausbildung erhält.

Ich nutze folgende Abfrage, um Daten aus einer SQL-Datenbank (Version 4) auszulesen:

MySQL Version 4?

Bevor wir weiterreden: installier eine aktuelle Version. 4 ist außerhalb der supporteten Lifetime. In 5.1 funktioniert es:


Code:
Server version: 5.1.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create table foo (name text);
Query OK, 0 rows affected (0.06 sec)

mysql> insert into foo values ('AAA');
Query OK, 1 row affected (0.06 sec)

mysql> insert into foo values ('ZAA');
Query OK, 1 row affected (0.06 sec)

mysql> insert into foo values ('ÜAA');
Query OK, 1 row affected (0.06 sec)

mysql> select * from foo order by name;
+------+
| name |
+------+
| AAA  |
| ÜAA |
| ZAA  |
+------+
3 rows in set (0.06 sec)

Und bei der Gelegenheit gleich drüber nachdenken, ob es wirklich MySQL sein soll....

Andreas
 
Werbung:
Oben