Thread: posix pattern matching

posix pattern matching

From
Stanislav Orlenko
Date:
Приветствую
Почитал http://www.postgresql.org/docs/8.4/interactive/functions-matching.html , появился вопрос.

Стоит Postgresql 8.4.4. Есть таблица со списком стран в большом регистре, в частности:
=# select name from countries where name ~ 'РОССИ';
  name 
--------
РОССИЯ
(1 row)

А когда пробую пробую сделать case insensitive выборку через POSIX :

=# select name from countries where name ~* 'росси';
name
------
(0 rows)

то как видно не получаю ничего.

Попробовал сделать подобное для английского - работает.

Есть мысли по этому поводу?

Спасибо

Re: posix pattern matching

From
eshkinkot@gmail.com (Сергей Бурладян)
Date:
Stanislav Orlenko <orlenko.stas@gmail.com> writes:

> Стоит Postgresql 8.4.4. Есть таблица со списком стран в большом регистре, в частности:
> =# select name from countries where name ~ 'РОССИ';
>   name 
> --------
> РОССИЯ
> (1 row)
>
> А когда пробую пробую сделать case insensitive выборку через POSIX :
>
> =# select name from countries where name ~* 'росси';
> name
> ------
> (0 rows)
>
> то как видно не получаю ничего.
>
> Попробовал сделать подобное для английского - работает.
>
> Есть мысли по этому поводу?

У Вас видимо кодировка базы UTF-8, в UTF-8 не работают классы символов и
регистронезависимое сравнение, это доделали только в 9.0

-- 
С уважением, Сергей Бурладян