Mailinglisten-Archive |
So sprach Thomas Bach am Wed, Jun 13, 2001 at 10:41:37AM +0200:
> hmmm, wäre es dann aber nicht besser, die umlaute durch a, o resp. u zu
> ersetzen (anstelle ae, oe & ue), dann würde nämlich gerade korrekt sortiert
Und wie geht's dann wieder zurück? Mal davon abgesehen, das dann nicht
korrekt sortiert würde - gut, nicht mehr so katatrophal wie es jetzt ist,
aber immer noch nicht richtig (richtig: Wie's im Telefonbuch steht) Also
so:
1. Müller
1. Mueller
3. Muller
Bei Dir käme raus:
1. Mueller
2. Müller
2. Muller
Oder noch "schlimmer":
1. Müller
1. Mueller
2. Müllez
3. Muller
vs. Deines:
1. Muller
1. Müller
2. Müllez
3. Mueller
(Das {1,2,3}. gehört natürlich nicht zum String)
Im Telefonbuch wird nämlich nicht zwischen ü und ue unterschieden. Dh. es
findet *für die Sortierung* eine Auflösung von ü nach ue statt.
Kann man in MySQL replace() bei ORDER BY anwenden? Dann dürfte wohl richtig
sein:
SELECT Namen
FROM Tbl
ORDER BY
replace(replace(replace(replace(replace(replace(replace(
Namen, 'ß', 'sz'),
'ü', 'ue'),
'ö', 'oe'),
'ä', 'ae'),
'Ü', 'Ue'),
'Ö', 'Oe'),
'Ä', 'Ae')
Also, 7 ineinander geschachtelte REPLACE's - für jeden Buchstaben ein
Replace. Nicht elegant und wohl auch nicht performant, aber was anderes
fällt mir nicht ein, wenn man in MySQL bleiben will...
Alexander Skwar
--
How to quote: http://learn.to/quote (german) http://quote.6x.to (english)
Homepage: http://www.digitalprojects.com | http://www.iso-top.de
iso-top.de - Die günstige Art an Linux Distributionen zu kommen
Uptime: 20 hours 37 minutes
---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive