Re: Accent insensitive search?

Поиск
Список
Период
Сортировка
От Thom Brown
Тема Re: Accent insensitive search?
Дата
Msg-id bddc86150903181024m65cafd45y914215cc5b066fc9@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Accent insensitive search?  (Sam Mason <sam@samason.me.uk>)
Список pgsql-general
2009/3/18 Sam Mason <sam@samason.me.uk>

If you can't find anything better in PG; the translate[1] function would
be my best suggestion.  Performance should be better than using regular
expressions.


Yeah, that does appear to perform better.  I tried the following at it worked for me:

CREATE OR REPLACE FUNCTION unaccent_string(text) RETURNS text AS $$
DECLARE
    input_string text := $1;
BEGIN

input_string := translate(input_string, 'âãäåāăąÁÂÃÄÅĀĂĄ', 'aaaaaaaaaaaaaaa');
input_string := translate(input_string, 'èééêëēĕėęěĒĔĖĘĚ', 'eeeeeeeeeeeeeee');
input_string := translate(input_string, 'ìíîïìĩīĭÌÍÎÏÌĨĪĬ', 'iiiiiiiiiiiiiiii');
input_string := translate(input_string, 'óôõöōŏőÒÓÔÕÖŌŎŐ', 'ooooooooooooooo');
input_string := translate(input_string, 'ùúûüũūŭůÙÚÛÜŨŪŬŮ', 'uuuuuuuuuuuuuuuu');

return input_string;
END;
$$ LANGUAGE plpgsql;


Regards

Thom

В списке pgsql-general по дате отправления:

Предыдущее
От: Pedro Doria Meunier
Дата:
Сообщение: Re: Accent insensitive search?
Следующее
От: John R Pierce
Дата:
Сообщение: Re: Accent insensitive search?