最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结.
目前使用 mybatis:
1. Oracle 中使用 "||"和 "+" 来进行拼接参数条件,如 :
select * from user where name like '||' + #{name} + '||'
2. SQL Server 中使用 "%"和 "+" 来进行拼接参数条件,如 :
select * from user where name like '%' + #{name} + '%'
3. Mysql 中使用 concat() 函数 来进行拼接参数条件,如 :
select * from user where name like concat('%', #{name}, '%')
concat(str1,str2,str3,str4,……….); 是连接字符串的函数,会生成一个字符串