Как проверить, есть ли в поле в бд символ %?
SELECT * FROM table_name WHERE column_name LIKE '%\%%'
или

SELECT * FROM table_name WHERE LOCATE('%', column_name) > 0
Экранировать этот символ: ... WHERE fieldname LIKE '%\%%'
(если строку запроса формируете в PHP и пишете в двойных кавычках, то возможно, придётся экранировать дважды - для PHP и собственно для SQL, т.е как-то так: "... LIKE '%\\%%'")