当前位置: 首页 > 面试题库 >

如何在准备好的语句中实现像运算符?[复制]

澹台星光
2023-03-14
问题内容

这个问题已经在这里有了答案

在SQL预准备语句,Spring,SimpleJDBCTemplate中使用LIKE子句 (1回答)

4年前关闭。

ps=con.prepareStatement("select * from REGISTER inner join ORGAN on REGISTER.PATIENTID=ORGAN.PATIENTID where ORGAN.ORGAN LIKE ?");          
ps.setString(1,"'%"+o.getOrgan()+"%'");

我在SQL Developer中执行了正常的查询,但是在DAO类中,它不返回任何结果集。


问题答案:

使用

ps.setString(1, "%" + o.getOrgan() + "%");

请注意没有引号。



 类似资料:
  • 问题内容: ps=con.prepareStatement(“select * from REGISTER inner join ORGAN on REGISTER.PATIENTID=ORGAN.PATIENTID where ORGAN.ORGAN LIKE ?”); ps.setString(1,”’%”+o.getOrgan()+”%’“); 我在SQL Developer中执行了正常的查

  • 我有以下准备的一个准备好的声明失败了... 我在我的第一份准备好的声明中几乎有同样的准备,而且它进行得很好。我不确定是否我有两个准备好的声明,如果这是造成一个问题,或情况可能是什么? 现在我有个错误... 更新-可能的内部连接,像这样?

  • 问题内容: 我正在使用准备好的语句来执行mysql数据库查询。我想实现基于各种关键字的搜索功能。 为此,我需要使用关键字,我知道很多。而且我之前也使用过预处理语句,但是我不知道如何使用它,因为从以下代码中,我将在哪里添加? 我可以直接在as 或类似的东西中使用它吗?我在网络上看到很多帖子,但是在任何地方都没有好的答案。 问题答案: 您需要在值本身中而不是在准备好的语句SQL字符串中进行设置。 因此

  • 问题内容: 我正在尝试运行以下查询,但通配符出现问题。 我收到一条错误消息,指出:无法通过引用传递参数2。我需要使用通配符的原因是因为列的数据包含序列化的数组。我想,如果有一种更简单的方法来处理此问题,该怎么办? 提前致谢! 问题答案: 您必须通过引用传递参数,这意味着您必须传递 单个变量 (而不是串联字符串)。不过,没有理由您不能专门构造这样的变量来传递:

  • 问题内容: 我正在使用准备好的语句来执行mysql数据库查询。我想实现基于各种关键字的搜索功能。 为此,我需要使用关键字,这一点我知道很多。而且我之前也使用过预处理语句,但是我不知道如何使用它,因为从以下代码中,我将在哪里添加? 我可以直接在或类似的东西中使用它吗?我在网络上看到很多帖子,但在任何地方都没有好的答案。 问题答案: 你需要在值本身中而不是在准备好的语句SQL字符串中进行设置。 因此,