作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
几个小时以来,我一直在努力让 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/
我是一名优秀的程序员,十分优秀!