专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

mybatis中oracle模糊查询like concat报错

ins518 2024-10-17 13:13:40 技术文章 13 ℃ 0 评论

在mybatis中oracle模糊查询时

使用了item_name like concat('%',#{item_name},'%'),结果报了个"ORA-00909:参数个数无效 "。

在Mysql的时候是可以的,原来Oralce只支持两个字符串的拼接,若想拼接多个字符串可以嵌套使用concat

CONCAT(str1,str2)参数中有Null的处理方式不同

Mysql:返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

Oralce:如有任何一个参数为NULL ,则返回值拼接后的字符串。

解决方案

  item_name like concat('%',#{item_name},'%')  

改成item_name like concat(concat('%',#{item_name}),'%')

或者item_name like '%'||#{item_name}||'%'


2023-2-3

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表