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.
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general