Re: How do I use parameterized queries with LIKE?
| От | W. Matthew Wilson |
|---|---|
| Тема | Re: How do I use parameterized queries with LIKE? |
| Дата | |
| Msg-id | CAGHfCUDiK+MVfiYywe=_SeZk9FZPgCd2Ea+Mfyp7K7kBiWmw0g@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: How do I use parameterized queries with LIKE? (Daniele Varrazzo <daniele.varrazzo@gmail.com>) |
| Ответы |
Re: How do I use parameterized queries with LIKE?
10.6 Mac build - Intel only |
| Список | psycopg |
On Mon, May 28, 2012 at 6:42 PM, Daniele Varrazzo
<daniele.varrazzo@gmail.com> wrote:
> If you have parameters in the query, % is used as placeholder prefix.
> You must use %% to include a literal % in the query:
>
> In [14]: cur.execute("""select email_address from customer where
> email_address like '%%' || %s || '%%'""", ('matt',))
>
> or you can add the % to the value instead of the query:
>
> In [17]: cur.execute("""select email_address from customer where
> email_address like %s""", ('%matt%',))
Thanks so much! I'm using the first solution, so that I can just
extract user-submitted data and pass it right in, rather than
prepending and appending '%' on the user data.
Matt
--
W. Matthew Wilson
matt@tplus1.com
http://tplus1.com
В списке psycopg по дате отправления: