我有以下内容:
String value = Char;
query = query.replace("WHERE_PLACEHOLDER", "where lower(NAME) LIKE :value%");
我需要在最后的查询中说出类似 abc%
的内容,但事实是,找不到该值,如果我删除 %
,它就可以工作美好的。我尝试了 \%
但后来找不到该值。这是整个查询:
SELECT *
FROM generic
WHERE name LIKE 'Char%'
如何让 %
处理该查询?
最佳答案
\
是 Java 字符串中的特殊字符,您需要在其前面加上另一个斜杠来转义自身。
query = query.replace("WHERE_PLACEHOLDER", "where lower(NAME) LIKE :value\\%");
第一对转义了 \
,所以你得到 \%
关于java - 查询时java上的Scape %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745491/