Я использую pymssql для подключения к базе данных. В этой базе данных есть стол, в котором есть столбец (назовем его col), ведь все строки имеют длину 64 символа. (например: "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 кажется, что я должен использовать массив кортежей, но я не могу найти способ заставить его работать.
Спасибо заранее