Re: Query with Parameters and Wildcards

From: Jure Kobal <j(dot)kobal(at)gmx(dot)com>
To: pgsql-sql(at)postgresql(dot)org, landsharkdaddy <ldodd(at)landsharksoftware(dot)com>
Subject: Re: Query with Parameters and Wildcards
Date: 2009-04-27 16:29:26
Message-ID: 200904271829.26557.j.kobal@gmx.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

In the original select you missed a small part. The operation || needs a value
on every side and you missed the value on the left side. You had it as: WHERE
(customerlastname ILIKE || '%') instead of WHERE (customerlastname
ILIKE 'lastname' || '%'). And that is the reason for the error you got.

The function from dayat has a small mistake. It should be:
CREATE OR REPLACE FUNCTION TEST(lastname VARCHAR)
else it will result in an error because of the missing space.

On Monday 27 of April 2009 16:47:40 dayat wrote:
> Do you run this code in the function? If so, the following example function
> with LANGUAGE SQL function:
>
> CREATE OR REPLACE FUNCTION TEST(lastnameVARCHAR)
> RETURNS SETOF lanemanager.customers
> AS $$
> SELECT customercellphone, customercity, customerdatecreated,
> customerdatelastmodified, customeremail, customerfax, customerfirstname,
> customerid, customerlastname, customermiddleinitial, customerphone,
> customerreferredby, customerstateabbr, customerstreet1, customerstreet2,
> customersuffix, customertitle, customerworkphone, customerworkphoneext,
> customerzip FROM lanemanager.customers WHERE (customerlastname ILIKE $1 ||
> '%')
> $$
> LANGUAGE SQL;
>
> Please tell me is it work for you.
>
> Regards
> Hidayat
>
> ----- Original Message -----
> From: "landsharkdaddy" <ldodd(at)landsharksoftware(dot)com>
> To: <pgsql-sql(at)postgresql(dot)org>
> Sent: Monday, April 27, 2009 9:19 PM
> Subject: Re: [SQL] Query with Parameters and Wildcards
>
> > When I try the following like you suggested I get an error that says
> > "operator does not exist: || unknown
> >
> >
> >
> > SELECT customercellphone, customercity, customerdatecreated,
> > customerdatelastmodified, customeremail, customerfax, customerfirstname,
> > customerid, customerlastname, customermiddleinitial, customerphone,
> > customerreferredby, customerstateabbr, customerstreet1, customerstreet2,
> > customersuffix, customertitle, customerworkphone, customerworkphoneext,
> > customerzip FROM lanemanager.customers WHERE (customerlastname ILIKE ||
> > '%')
> >
> > landsharkdaddy wrote:
> >> I have a query that works on SQL Server to return customers that contain
> >> the string entered by the user by accepting parameters and using the
> >> LIKE keyword. I would like to move this to postgreSQL but I'm just not
> >> sure how
> >> to get it done. This is the query
> >>
> >> SELECT * FROM Customers WHERE FirstName LIKE @custfirst + '%';
> >>
> >> This works great on SQL Server but not on postgreSQL. Any help would be
> >> appreciated.
>
> __________________________________________________
> Apakah Anda Yahoo!?
> Lelah menerima spam? Surat Yahoo! memiliki perlindungan terbaik terhadap
> spam http://id.mail.yahoo.com

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message landsharkdaddy 2009-04-27 17:11:09 Re: Query with Parameters and Wildcards
Previous Message dayat 2009-04-27 14:47:40 Re: Query with Parameters and Wildcards