MyBatis在Oracle数据库下用concat函数模糊查询之参数个数无效错误

这个是原本的MySQL当中的一个语句

a.AREA_ID LIKE concat( '%', ?, '%' ) ,然后由于迁移到了oracle,发现一执行就报错

MyBatis在Oracle数据库下用concat函数模糊查询之参数个数无效错误

一直出现参数个数无效 ,然后在网上查了,才发现

oracle中使用concat,concat只能连接两个字符,而“||”可以连接多个字符。

所以解决方法有:

用concat连接多个字符时,需要嵌套

    a.AREA_ID LIKE concat(concat( '%', ''), '%' ) 这样就能完美的执行了。

还可以参考这个博客,https://blog.****.net/u014158708/article/details/48180541?utm_source=blogxgwz2