Inteligentni hledani bez ohledu na velikost a diakritiku
Jan Serak
sherry na pikebo.cz
Pondělí Říjen 30 13:33:07 CET 2000
"Jaromír Skřivan" wrote:
>
> Dobry den,
>
> resim v MySQL nasledujici problem. Na webove aplikaci muze uzivatel
> jednoduse hledat dle zadaneho slova. Potrebuji, aby mi prislusny SELECT
> vracel odpovedi bez ohledu na velikosti pismen retezce, ktery uzivatel
> zadal, ale take bez ohledu na diakritiku a v tom je ten problem. MySQL dela
> defaultne kodovani iso-8859-1. Nevite nekdo, jestli existuje nejaka funkce,
> ktera by dokazala ve volani dotazu u hodnoty daneho sloupce prevest z
> diakritiky na us-ascii, tj.napr bych volal nasledujici:
>
> select id, nazev, popid
> from odkaz
> where il1_to_ascii(nazev) = $zadany_retezec
>
> kde $zadany retezec obsahuje co uzivatel zadal a uz bez diakritiky.
> Jde mi o to, abych ty data dostal primo z databaze, ne abych je z databaze
> vycucnul vsechny a teprve potom na urovni skriptu tu diakritiku orezaval.
Rekl bych, ze to vyjde dost nastejno. Predpokladejme, ze existuje funkce
il1_to_ascii(). Jejim pouzitim vyloucite pouziti pripadneho indexu na
sloupci nazev a tabulku bude nutne prolezt sekvencne od zacatku do konce.
V takovem pripade je lhostejne, jestli zaznamy, ktere nevyhovuji zadane
podmince vyhaze MySQL, nebo nejaky skript. Na vykonu to uz nic moc
nezmeni.
>
> Jestli takova funkce neexistuje, da se napsat? kdyztak jakym zpusobem?
Nevim. Ale pro Vase potreby je stejne nepouzitelna.
Jan Serak
Další informace o konferenci Databases