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