今天在處理sql查詢的時(shí)候遇到了like查詢不到的問(wèn)題,于是對(duì)問(wèn)題進(jìn)行剖析
問(wèn)題:
select * from v_workflow_rt_task_circulate where Name like '%[admin]請(qǐng)假申請(qǐng)[2017-02-13至2017-02-13]%'
查詢不到,但是在數(shù)據(jù)庫(kù)中是存在在這一條數(shù)據(jù)的。
修改后:
select * from v_workflow_rt_task_circulate where Name like '%[[]admin]請(qǐng)假申請(qǐng)[[]2017-02-13至2017-02-13]%'
對(duì)于模糊查詢需要對(duì)于特殊字符的處理(下劃線_,百分號(hào)%,方括號(hào)[,尖號(hào)^)
對(duì)了以上的字符直接使用方括號(hào)包起來(lái)([])例如:[_]、[%]、[[]、[^]。
/**
* 模糊查詢需要對(duì)于特殊字符的處理(下劃線_,百分號(hào)%,方括號(hào)[],尖號(hào)^)
* @param Name
* @return
*/
private String handleName(String name){
if(StringUtils.isEmpty(name)){
return null;
}
return name.replace("_", "[_]").replace("%", "[%]").replace("[", "[{]").replace("^", "[^]");
}
以上所述是小編給大家介紹的SqlServer中模糊查詢對(duì)于特殊字符的處理,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- 有關(guān)SQL模糊查詢
- SQL Server模糊查詢的常見(jiàn)方法總結(jié)
- Mybatis使用MySQL模糊查詢時(shí)輸入中文檢索不到結(jié)果怎么辦
- SQL模糊查詢報(bào):ORA-00909:參數(shù)個(gè)數(shù)無(wú)效問(wèn)題的解決