Sortierung UTF8 verändern
Hallo Zusammen,
ich habe eine Tabelle und wenn diese per ORDER BY Sortiert ausgegeben wird per Kollokation utf8_unicode_ci, wird dies in dieser Reihenfolge getan: Sonderzeichen, Zahlen, Buchstaben. Nun möchte ich aber die Sonderzeichen und Zahlen am Ende haben, also Buchstaben, Sonderzeichen, Zahlen oder auch Buchstaben, Zahlen, Sonderzeichen.
Was wichtig dabei ist die Buchstaben sollen trotzdem noch bei A anfangen und bei Z aufhören und dann erste die Zahlen und Sonderzeichen. Wie die Zahlen und Sonderzeichen sortiert sind ist mir völlig egal.
So nun habe ich folgende Ansätze probiert:
SELECT title FROM tab
order by left(title,1) between "a" and "z" desc, title
Soweit so gut, sieht wunderbar aus, Tja nur dann sind die Umlaute wie ÄÖÜß alle noch hinter den Sonderzeichen! Das geht ja nun gar nicht!
Nun habe ich probiert die Umlaute irgendwie zu erkennen, dazu habe ich dann folgendes Probiert
where left(title,1) between "a" and "z" - Gibt mir alle Titel von A-Z aus aber ohne Umlaute
SUBSTRING(title,1,1) in ('Ö','ö') oder
SUBSTRING(title,1,1) in (CHAR(0xC3,0x96 USING utf8), CHAR(0xC3,0x9C USING utf8)) - Gibt mir alle Titel mit "O" oder "o" aus aber keine "Ö"'s oder "ö"'s obwohl substring eigentlich multi-byte safe sein soll.
Habt ihr sonst eine Idee wie ich das lösen kann?
Viele Grüße
Björn