Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results

Поиск
Список
Период
Сортировка
От Denis Papathanasiou
Тема Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results
Дата
Msg-id 50D4837A.2060704@banrai.com
обсуждение исходный текст
Ответ на Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results  ("David Johnston" <polobo@yahoo.com>)
Ответы Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results
Список pgsql-general
On 12/21/2012 10:35 AM, David Johnston wrote:
>>
>> If you look at the four examples which follow the posix match table in the
>> docs (http://www.postgresql.org/docs/9.1/static/functions-
>> matching.html#FUNCTIONS-POSIX-TABLE),
>> some of them work from the left side, e.g.:
>>
>> 'abc' ~ '(b|d)'  true
>>
>> In my original example, I found I could write this from left to right like
> this,
>> and it would still work:
>>
>> '(b|d)' ~ 'abc'  true
>
> Really???
>
> Testing on Windows 9.0.4 this expression returns FALSE, not true as you
> claim.  Please try again and reply with detailed version information and the
> exact query(s) used if you can get the behavior to repeat itself.

=> select id from form_d where '(kumar|gonzales)' ~* any(
CAST(xpath('//PersonsList/PersonName/LastName/text()', data) as TEXT[]) );

This expression returned (correctly) the information I wanted.

Shouldn't it *not* have worked b/c the '(kumar|gonzales)' regex is on
the left?

I was hoping to be able to use the xml type field to be able to do '^a'
type searches on names (e.g. a search for 'Fred' would also match
'Frederick', etc.) but since it seems that I cannot, I'll look at
different ways of solving this problem.


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

Предыдущее
От: "jg"
Дата:
Сообщение: Re: Coalesce bug ?
Следующее
От: "jg"
Дата:
Сообщение: Re: Coalesce bug ?