Problem with LIKE in a SQL function

From: Mole <mole(at)zebra(dot)co(dot)uk>
To: pgsql-novice(at)postgresql(dot)org
Subject: Problem with LIKE in a SQL function
Date: 2002-11-01 15:10:49
Message-ID: E187dQH-0007a5-00@zebrahosts.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hello,
I have a bit of a problem, I have looked on the archives and didn't manage
to see anything.

I am trying to write the below function

mail_db=# CREATE FUNCTION "user_id_funct_p2"(varchar)
mail_db-# RETURNS setof varchar AS '
mail_db'# SELECT "mailbox" FROM "user" WHERE "mailbox" LIKE (\'$1%\') '
mail_db-# LANGUAGE sql ;
CREATE

mail_db=# select user_id_funct_p2('test');
user_id_funct_p2
------------------
(0 rows)

If I do
SELECT "mailbox" FROM "user" WHERE "mailbox" LIKE ('test%') ;

It does returns the following results

mailbox
----------
test0001
test0002
test0003
test0004
test0005
test0006
(6 rows)

If I ammed the function to return $1 it does return as test. When I looked @
the debug output it seemed to be matching $1 rather that the value of $1.
That leads me to believe that my character escape sequence is incorrect. I
have tried every possible combination but I am still not returning valid
results.

Many thanks in advance

Mole
--
==============
Caroline Fletcher
Head of Systems

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2002-11-01 16:12:00 Re: Problem with LIKE in a SQL function
Previous Message Scott Taylor 2002-10-30 13:21:05 PgAccess Visual Query