MySQL Forums
Forum List  »  German

Sortierung UTF8 verändern
Posted by: Björn Paulsen
Date: July 22, 2010 07:43AM

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

Options: ReplyQuote


Subject
Views
Written By
Posted
Sortierung UTF8 verändern
2567
July 22, 2010 07:43AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.