Oracle拼接字符串concat需要注意的小事项
在用ssm框架编写代码的时候,因为数据库换成了Oracle,在模糊查询数据的时候突然发现报错了
select * from SYS_MENU where...url like concat(‘%’,#{roleName},’%’)
一直报错参数个数无效,在网上查找资料发现模糊查询的sql语句还是concat(‘%’,’s’,’%’)这样写的
但后面发现实际上...oracle中不支持concat的三个参数的拼接,需要更正为
select * from SYS_MENU where url like concat(concat(‘%’,#{roleName...}),’%’)
或者使用
select * from SYS_MENU where url like ‘%’ || #{roleName} || ‘%’;
AND t.SHELVE_NO LIKE CONCAT(CONCAT(‘%’,#{param.shelveNo}),’%’)