龙空技术网

mybatis中oracle模糊查询like concat报错

在水一方357159258 44

前言:

目前看官们对“mysql多个模糊查询”大约比较看重,兄弟们都需要学习一些“mysql多个模糊查询”的相关知识。那么小编同时在网络上汇集了一些对于“mysql多个模糊查询””的相关内容,希望小伙伴们能喜欢,咱们快快来了解一下吧!

在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

标签: #mysql多个模糊查询 #strfindoracle #oraclelike09 #oracle存储过程like #oracle字符串比较大小报错