当前位置:  开发笔记 > 编程语言 > 正文

如何使用带有RowSet的LIKE放置IN参数?

如何解决《如何使用带有RowSet的LIKE放置IN参数?》经验,为你挑选了1个好方法。

我现在争取让一个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个字符后缀.



1> Bill Karwin..:

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

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

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

现在你可以为参数提供"someString",然后它将与常量字符串连接'__'.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有