java - 查询时java上的Scape %

标签 java

我有以下内容:

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/

相关文章:

Java:断言( boolean 表达式)

java - HashMap 有什么问题?

java - 在这个包结构中,在哪里放置 Reader/Writer/Emailer ... *er 类?

java - 带有动态 where 子句的 Spring data JPA

java - 如何从段落中提取字符串?

java - JAXRS/Spring/CXF 端点配置中的合约详细信息——命名空间、PublishedUrl 等

java - 以编程方式生成动态 RadioGroup 并对其进行 setOnCheckedChangeListener

java - JSOUP 重复的 html 表

java - 序列化 java.util.Random

java - Selenium:动态按钮和类?