Som i svaret Mihir Daves kommentar länkar till, är det ingen skillnad mot SQL om du klarar %% istället för % . Sedan en enda % matchar noll eller fler tecken, sedan var och en av metatecken i %% skulle också matcha noll eller mer, och i slutändan skulle samma sträng matcha på ett eller annat sätt.
Men jag antar att din äldre kod är pre-Python 2.6 som använder % som en metatecken i strängformatering, och du måste dubbla den som %% för att få en enda bokstavlig % tecken.
Se även:
- Hur kan jag selektivt escape-procent (%) i Python-strängar?
- https://docs.python.org/ 2.6/library/stdtypes.html#string-formatting-operations