四时宝库

程序员的知识宝库

mybatis中oracle模糊查询like concat报错

在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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接