Come nella risposta a cui si collega il commento di Mihir Dave, non c'è differenza con SQL se passi %% invece di % . Poiché un singolo % corrisponde a zero o più caratteri, quindi a ciascuno dei metacaratteri in %% corrisponderebbe anche a zero o più e alla fine la stessa stringa corrisponderebbe in un modo o nell'altro.
Ma suppongo che il tuo codice legacy sia precedente a Python 2.6 che utilizza % come metacarattere nella formattazione delle stringhe e devi raddoppiarlo come %% per ottenere un singolo letterale % carattere.
Vedi anche:
- Come posso selettivamente percentuale di escape (%) nelle stringhe Python?
- https://docs.python.org/ 2.6/library/stdtypes.html#string-formatting-operations