我正在尝试连续选择包含四个百分号的数据。如何逃避百分号,以便我的LIKE条件有效?
由于
答案 0 :(得分:15)
将@%
与转义字符子句一起使用:
select *
from tbl
where fld like '%@%%' escape '@'
这将搜索"%"
列中包含fld
字符的所有记录。
DB2 / z的格式略有不同:
select *
from tbl
where fld like {escape '@'} '%@%%'
显然,你需要仔细选择你的转义字符,这样它就不会干扰字符串的其余部分,但这对于静态字符串来说相对容易。动态构建的字符串将需要动态构建的查询,以便它不使用字符串中的字符。