MySQL Python LIKE通配符

时间:2012-01-08 04:49:13

标签: python mysql

我想做一个Python MySQL查询,例如:

cursor = connection.cursor()
sql = "select text \
       from steps \
       where text like '%start%'"
cursor.execute(sql)

但我认为%不被视为通配符,它​​期待变量。我收到一个错误:

TypeError: not enough arguments for format string

似乎没什么用。如果我可以使用变量而不是'%start%'

,那也很好

1 个答案:

答案 0 :(得分:20)

我假设你正在使用python db-api。

您可以尝试将%转义为%%

至于传递参数,有很多种方法,例如:

cursor = connection.cursor()
sql = """select text 
   from steps 
   where text like %s"""
cursor.execute(sql, (('%' + 'start' + '%',))

您可以在“Interfacemodułu”部分中查看参数传递on this blog的其他方法的示例。并非所有连接器都适用于所有连接器。