Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题

时间:2022-06-01 16:58:21

最近项目开发一直在不断切换数据库,有时候一条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,……….);  是连接字符串的函数,会生成一个字符串