Oracle模糊查询CONCAT参数个数无效


在使用MyBatis操作Oracle数据库的时候,写模糊查询突然发现原本在MySql中正确的代码,在Oracle中报错,参数个数无效

<if test="empId!=null and empId!=''">
    and e.empId like CONCAT('%',#{empId},'%')
</if>

异常信息;

 

 

经过查阅数个资料后得知Oracle的CONCAT函数不像MySql那样支持三个参数的拼接,需要把SQL语句修正为:

and e.empId like CONCAT(CONCAT('%',#{empId}),'%')

或者

and e.empId like '%' || #{empId} ||'%';

 

以上仅对Oracle有效!

PS:

  基础真的非常重要!!

  再简单的代码也要多敲几遍,这样才“有可能“成为你的一部分”!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM