Используйте @%
с предложением escape-символа:
select *
from tbl
where fld like '%@%%' escape '@'
Будет выполнен поиск всех записей, содержащих символ "%"
в столбце fld
.
DB2 / z имеет немного другой формат:
select *
from tbl
where fld like {escape '@'} '%@%%'
Очевидно, вам нужно будет тщательно выбирать свой escape-символ, чтобы он не мешал остальной части вашей строки, но для статических строк это относительно просто. Динамически построенные строки потребуют динамически создаваемых запросов, чтобы не использовать символ из строки.