gpt4 book ai didi

java - 如何将带有 LIKE 的 IN 参数与 RowSet 一起放置?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:28 26 4
gpt4 key购买 nike

几个小时以来,我一直在努力让 IN 参数在 LIKE 语句中工作!我正在使用 CachedRowSet,据我所知,它应该遵循与 PreparedStatement 相同的规则。
这是基本查询:

CachedRowSet cache;
String sql = "SELECT x " +
"FROM Y " +
"WHERE z LIKE '?__'"

cache.setCommand(sql);
cache.setString(1, "someString");

someString 是一个已知的 id,但数据库(顺便说一下是 PostgreSQL)条目有一个未知的 2 字符后缀。

最佳答案

引号内的参数占位符将被忽略。它们被解释为文字“?”。如果使用参数,则必须将占位符放在 SQL 表达式中的引号外。

但是 LIKE 可以与任何字符串或任何生成字符串的表达式 进行比较。例如:

SELECT x FROM y WHERE z LIKE (? || '__')

现在您可以为参数提供“someString”,然后它将与常量字符串 '__' 连接。

关于java - 如何将带有 LIKE 的 IN 参数与 RowSet 一起放置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/490378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com