Ich benutze Pymssql, um eine Verbindung zu einer Datenbank herzustellen. Diese Datenbank hat eine Tabelle, die eine Spalte hat (nennen wir es Col), auf der alle Strings 64 Zeichen lang sind. (Beispiel: "John "
). Nun möchte ich John in der Datenbank finden. Ich versuchte mit LIKE
. Wenn ich den Namen hard funktioniert es perfekt:Wie verwendet man LIKE und% mit Pymssql auf einer unbestimmten Anzahl von Parametern?
cursor.execute("SELECT * FROM table WHERE col LIKE 'John%' ") // gives perfect results
Aber wenn ich es versuchen, mit %s
dies scheint nichts zu passen.
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
Wenn ich wollte dies gearbeitet hätte nur eine Spalte zum Spiel:
cursor.execute("SELECT * FROM table WHERE col LIKE '%s%' ", "John") // gives all Johns
Aber ich möchte auf eine unbestimmte Anzahl von Spalten übereinstimmen. Gibt es eine Möglichkeit, einen Blick darauf zu werfen, wie die letzte Abfrage aussehen würde, damit ich versuchen kann, sie selbst zu debuggen. Oder sonst weißt du, wie man viele Parameter benutzt. nach dem suchen here scheint es, ich sollte eine Reihe von Tupeln verwenden, aber ich kann keinen Weg finden, es zu arbeiten.
Vielen Dank im Voraus