以下查询在 Oracle 12c 中是正确的:
SELECT *
FROM dual
MATCH_RECOGNIZE (
MEASURES a.dummy AS dummy
PATTERN (a?)
DEFINE a AS (1 = 1)
)
但它不能通过 JDBC 工作,因为该?
字符用作正则表达式字符,而不是用作绑定变量。
?
假设我想将其作为PreparedStatement
绑定变量运行,那么通过 JDBC转义的正确方法是什么?
笔记:
- 我找到了关于 JDBC 规范讨论邮件列表的讨论,但是这个问题没有结论:http: //mail.openjdk.java.net/pipermail/jdbc-spec-discuss/2013-October/000066.html
- PostgreSQL 与 JSON 运算符有类似的问题:如何使用包含问号“?”的 PostgreSQL JSON(B) 运算符。通过 JDBC