три е просто.
% не е заместващ знак, не е просто знак като всеки друг знак
SELECT * from `foo` WHERE `bar` LIKE '\%' ESCAPE '|';
Работи добре
Вторият също работи.
Но трябва да
SELECT * from `foo` WHERE `bar` LIKE '\\\%';
Помня, че трябва да избягаш от бягството и заместващия знак!