Heim >Datenbank >MySQL-Tutorial >Wie entferne ich das Zeichen „%' in MySQL-Abfragen von Python?
Escaping % in MySQL-Abfragen von Python
Bei Verwendung der MySQLdb-Bibliothek von Python tritt beim Ausführen von a die Ausnahme „ValueError: nicht unterstütztes Formatzeichen“ auf Abfragen mit einem „%“-Zeichen können frustrierend sein. Dies liegt daran, dass MySQL das „%“-Zeichen als Platzhalter behandelt und es als Teil der Abfrage und nicht als Literal interpretiert.
Um dieses Problem zu beheben, empfiehlt die Dokumentation, die literalen „%“-Zeichen in zu maskieren Abfragezeichenfolge, die an „execute()“ übergeben wird. Durch die Verwendung eines doppelten % (%%) erkennt MySQL das „%“ als Literalzeichen und nicht als Platzhalter.
Zum Beispiel kann die Abfrage in der ursprünglichen Frage wie folgt geändert werden:
query = """SELECT DATE_FORMAT(date_time, '%%Y-%%m') AS dd FROM some_table WHERE some_col = %s AND other_col = %s;""" cur.execute(query, (pram1, pram2))
Durch die Maskierung der wörtlichen „%“-Zeichen erkennt MySQL nun „Y“ und „m“ als bestimmte Zeichen in der DATE_FORMAT-Zeichenfolge und der Fehler wird vermieden.
Das obige ist der detaillierte Inhalt vonWie entferne ich das Zeichen „%' in MySQL-Abfragen von Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!