using like and % in MySQLdb
Chris
bit_bucket5 at hotmail.com
Thu Aug 7 11:07:08 EDT 2003
Dave Harrison <dave at nullcube.com> wrote in message news:<mailman.1060232532.23485.python-list at python.org>...
> Im sure this is a really obvious problem but :
>
> self.curs.execute(
> """SELECT * FROM user WHERE login LIKE '%%s%'""", [login]
> )
>
> will not work ... gives me an "unsupported format character ''' (0x27)"
>
> escaping the %'s with % as the doco recommends wont work either.
>
> however this :
>
> self.curs.execute(
> """SELECT * FROM user WHERE login LIKE '%dave%'"""
> )
>
> does work
>
> so what's the go ?
Try
"select * from user where login like %s" % ('%%%s%%' % login)
(same as "select * from user where login like %s" % ('%dave%'))
I think you want the % stuff for LIKE to be part of the substituted in
string, not part of the query string. Make sense?
More information about the Python-list
mailing list