转义百分比符号DB2 SQL

nea*_*ime 9 sql db2

我试图连续选择包含四个百分号的数据.如何逃避百分号,以便我的LIKE条件有效?

谢谢

pax*_*blo 15

使用@%与转义字符条款:

select *
from tbl
where fld like '%@%%' escape '@'
Run Code Online (Sandbox Code Playgroud)

这将搜索包含列中"%"字符的所有记录fld.

DB2/z的格式略有不同:

select *
from tbl
where fld like {escape '@'} '%@%%'
Run Code Online (Sandbox Code Playgroud)

显然,你需要仔细选择你的转义字符,这样它就不会干扰字符串的其余部分,但这对于静态字符串来说相对容易.动态构建的字符串将需要动态构建的查询,以便它不使用字符串中的字符.