根據網絡內容整理mysql
$
代替#
。此種方法就是去掉了類型檢查,使用字符串鏈接,不過可能會有sql注入風險。Sql代碼 select * from table1 where name like '%$name$%'
sql
使用鏈接符。不過不一樣的數據庫中方式不一樣。數據庫
mysql: select * from table1 where name like concat('%', #name#, '%') oracle: select * from table1 where name like '%' || #name# || '%' sql server: select * from table1 where name like '%' + #name# + '%'
注意:在實際開發中,每每咱們須要將模糊查詢的空格去掉。爲了防止將去除空格放到業務層去,所以建議以下寫(oracle 中,其餘數據庫雷同):網絡
Sql代碼 select * from table1 where name like '%' || Trim(#name#) || '%'
mybatis
like "%"#{name}"%" <!--推薦使用--> (psql中有問題) like '%'||#{name}||'%' like '%${name}%' like CONCAT('%',#{name},'%') sqlserver: like '%'+#{name}+'%'