Regex Query Index question

Поиск
Список
Период
Сортировка
От Naoko Reeves
Тема Regex Query Index question
Дата
Msg-id CAGoos17T=Ch9zqxrEDjDSx_PVOTP-3w44n7GvqoKL3XZ9jtdmg@mail.gmail.com
обсуждение исходный текст
Ответы Re: Regex Query Index question  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Regex Query Index question  (David Johnston <polobo@yahoo.com>)
Список pgsql-general
Hello,
I have query phone number in database as follows:

[123) 456-7890

(123) 456-7890

When I query like this:

SELECT * FROM phone 

WHERE phone_number ~ ('^\[123' || '[-\s\)]{0,2}' || '456' || '[-\s\)]{0,2}' || '7890')

it use Index but if I query like this (notice first character is open parenthesis instead of open square blacket ) :

SELECT phn_fk_key FROM phn WHERE 

phn_fk_table = 14 

AND llx_decrypt(phn_phone_enc) ~ ('^\(123' || '[-\s\)]{0,2}' || '456' || '[-\s\)]{0,2}' || '7890')

It doesn't use Index....

co-worker suggested me to use chr(40) instead so I tried this:

SELECT phn_fk_key FROM phn WHERE 

phn_fk_table = 14 

AND llx_decrypt(phn_phone_enc) ~ ('^\' || chr(40) || '123' || '[-\s\)]{0,2}' || '456' || '[-\s\)]{0,2}' || '7890')

No success...

Also { and period doesn't seems to use index either.... but } ) [ ] $ # works.

Could you guide me to right direction for me please?


Thank you very much for your time in advance.


Naoko Reeves

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

Предыдущее
От: Rich Shepard
Дата:
Сообщение: Re: Filling Missing Primary Key Values
Следующее
От: Marc Munro
Дата:
Сообщение: Re: [HACKERS] Dropping extensions