Oldalak

2013. február 21., csütörtök

Eredmény halmaz rendezése magyar ábécé szerint MySQL-ben

A minap futottam abba a problémába, hogy egy SQL lekérdezésben az eredmény halmazt a magyar ábécé szerint kellett rendezni. Ez önmagában nem lenne probléma, ha a tábla illetve az a mező, amiből szelektálni akarunk a karakter készlete utf8_hungarian_ci (COLLATION) lenne. Jelen esetben a táblában lévő adatok migrációja UTF-8 kódolásra nem megoldható ezért a SELECT-ben kell megoldani ezt a konverziót.


SELECT id, 
       CONVERT(CAST(nev_latin1_ben as BINARY) USING utf8) as name
FROM tabla
ORDER BY CONVERT(CAST(nev_latin1_ben as BINARY) USING utf8) COLLATE utf8_hungarian_ci;

A fenti lekérdezés átkonvertálja a mezőben nev_latin1_ben mező tartalmát UTF-8 karakter kódolásra és az eredményhalmazt magyar ábécé szerint rendezi.

Nincsenek megjegyzések:

Megjegyzés küldése