在使用LIKE關鍵字進行模糊查詢時,“%”、“_”和“[]”單獨出現(xiàn)時,會被認為是通配符。可以通過以下2種方式解決。
一. 在MyBatis的mApper文件中,在like語句后面加上ESCAPE,告訴數(shù)據(jù)庫轉(zhuǎn)義字符為"/"
二. MySQL使用內(nèi)置函數(shù)來進行模糊搜索(locate()等)
使用locate()
select `name` from `user` where locate('keyword', `condition`)>0
找到返回的結(jié)果都大于0,沒有查找到返回0;
使用instr()
select`name` from `user` where instr(`condition`, ‘keyword’ )>0
唯一不同的是查詢內(nèi)容的位置不同
使用position()
select`name` from `user` where position(‘keyword’ IN `condition`)
使用find_in_set()
find_in_set(str,strlist),strlist必須要是以逗號分隔的字符串