I just debugging a legacy code and I found a strange part in it. Does anybody has an idea, what does the following mean in the MYSQL string?
full_name LIKE '%%{fullname}%%'
%s is a placeholder used in functions like sprintf. Check the manual for other possible placeholders. $sql = sprintf($sql, "Test"); This would replace %s with the string "Test".
The MySQL LIKE OperatorThe LIKE operator is used in a WHERE clause to search for a specified pattern in a column. There are two wildcards often used in conjunction with the LIKE operator: The percent sign (%) represents zero, one, or multiple characters. The underscore sign (_) represents one, single character.
As in the answer Mihir Dave's comment links to, there's no difference to SQL if you pass %%
instead of %
. Since a single %
matches zero or more characters, then each of the metacharacters in %%
would also match zero or more, and ultimately the same string would match one way or another.
But I'd guess your legacy code is pre-Python 2.6 that uses %
as a metacharacter in string formatting, and you have to double it like %%
to get a single literal %
character.
See also:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With