Thread: Case insensitivity problem

Case insensitivity problem

From
"Sergey Konoplev"
Date:
Hi, All

I have following case insensitivity problem with regular expressions:

pgdb:~ # locale |grep LC_CTYPE
LC_CTYPE=ru_RU.UTF-8
pgdb:~ # /opt/PostgreSQL/bin/psql -d test -U postgres
Welcome to psql 8.2.4, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

test=# show client_encoding;
 client_encoding
-----------------
 UTF8
(1 row)

test=# create table test_table ( t_string varchar );
CREATE TABLE
test=# insert into test_table values ('Йцукен');
INSERT 0 1
test=# insert into test_table values ('йцукен');
INSERT 0 1
test=# select * from test_table where t_string ilike 'Й%';
 t_string
----------
 Йцукен
 йцукен
(2 rows)

test=# select *  from test_table where t_string ~* E'Й';
 t_string
----------
 Йцукен
(1 row)


I expected the same result in second select. Can anybody explain me
what's wrong?

--
Regards,
Sergey Konoplev

Case insensitivity problem

From
"Sergey Konoplev"
Date:
Hi, All

I have following case insensitivity problem with regular expressions:

pgdb:~ # locale |grep LC_CTYPE
LC_CTYPE=ru_RU.UTF-8
pgdb:~ # /opt/PostgreSQL/bin/psql -d test -U postgres
Welcome to psql 8.2.4, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
      \h for help with SQL commands
      \? for help with psql commands
      \g or terminate with semicolon to execute query
      \q to quit

test=# show client_encoding;
 client_encoding
-----------------
 UTF8
(1 row)

test=# create table test_table ( t_string varchar );
CREATE TABLE
test=# insert into test_table values ('Йцукен');
INSERT 0 1
test=# insert into test_table values ('йцукен');
INSERT 0 1
test=# select * from test_table where t_string ilike 'Й%';
 t_string
----------
 Йцукен
 йцукен
(2 rows)

test=# select *  from test_table where t_string ~* E'Й';
 t_string
----------
 Йцукен
(1 row)


I expected the same result in second select. Can anybody explain me
what's wrong?

--
Regards,
Sergey Konoplev