Re: Question with combining ANY with ilike - Mailing list pgsql-general

From Rusty Conover
Subject Re: Question with combining ANY with ilike
Date
Msg-id 5975FBBC-2852-46B9-93DA-F438B5D9AB69@infogears.com
Whole thread Raw
In response to Re: Question with combining ANY with ilike  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general

On Dec 12, 2008, at 6:12 AM, Tom Lane wrote:

Rusty Conover <rconover@infogears.com> writes:
I'd like to specify a pattern then apply that pattern to match each  
element of an array:

rconover=# select 'foobar%' ~~ ANY (ARRAY['bar', 'cat', 'foobar:asdf']);
 ?column?
----------
 f
(1 row)

I'd like the the pattern would be evaluated against all of the array  
elements, but the order of parameters for the ~~ operator when  
combined with the ANY command is backwards to what I need.

Create a reverse-LIKE operator and underlying one-line SQL function.

regards, tom lane

Thanks Tom.

For the benefit of future searches I used:

create function reverse_ilike(text, text) RETURNS boolean AS 'select $2 ilike $1;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT;  

create operator ~~*^ (PROCEDURE = reverse_ilike, LEFTARG = text, RIGHTARG = text);  

Best,

Rusty

pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Data Replication
Next
From: "Emanuel Calvo Franco"
Date:
Subject: Re: Schemas and Privileges