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