我正在使用pymssql连接到数据库。 该数据库有一个表中有一列(我们称之为col),女巫的所有字符串都是64个字符长。 (例如:"John "
)。 现在我想在数据库中找到John。我尝试使用LIKE
。 当我硬编码的名字它完美的作品:如何在未确定数量的参数上使用LIKE和%与pymssql?
cursor.execute("SELECT * FROM table WHERE col LIKE 'John%' ") // gives perfect results
但是,当我尝试使用%s
这似乎符合什么。
cursor.execute("SELECT * FROM table WHERE col LIKE '%s%' ",(0,"John")) // gives Nothing
cursor.execute("SELECT * FROM table WHERE col LIKE '%s%' ",{0:"John"}) // gives SQL "Incorrect syntax" error
cursor.execute("SELECT * FROM table WHERE col LIKE '%s%' " % {0:"John"}) // gives unsupported format error
,如果我想匹配的只有一列该会工作:
cursor.execute("SELECT * FROM table WHERE col LIKE '%s%' ", "John") // gives all Johns
但我想匹配列的人数不详。 有没有办法看看最终的查询是什么样的,所以我可以尝试自己调试它。或者你知道如何使用许多参数。 看起来here它似乎我应该使用元组数组,但我找不到一种方法使其工作。
预先感谢您