SqlServer中模糊查詢對于特殊字符的處理方法
今天在處理sql查詢的時(shí)候遇到了like查詢不到的問題,于是對問題進(jìn)行剖析
問題:
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中模糊查詢對于特殊字符的處理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
SQL Server 不刪除信息重新恢復(fù)自動編號列的序號的方法
SQL Server 不刪除信息重新恢復(fù)自動編號列的序號的方法...2007-11-11SQL?Server誤區(qū)30日談?第24天?26個(gè)有關(guān)還原(Restore)的誤區(qū)
本系列文章一直所沒有觸及的就是有關(guān)”還原(Restore)”的話題,因?yàn)橐坏砍兜竭@個(gè)話題就會涉及大量的誤區(qū),多到我無法通過一篇文章說完的地步。<BR>2013-01-01SQL Server數(shù)據(jù)庫中的存儲過程介紹
這篇文章主要介紹了SQL Server數(shù)據(jù)庫中的存儲過程介紹,本文講解了什么是存儲過程、存儲過程語法、存儲過程的一些使用實(shí)例等內(nèi)容,需要的朋友可以參考下2015-01-01CASE表達(dá)式實(shí)現(xiàn)基于條件邏輯來返回一個(gè)值
針對一列,基于條件邏輯來返回一個(gè)值,那么,這時(shí)候就需要使用到CASE表達(dá)式了,下面是具體的應(yīng)用2014-07-07sql不常用函數(shù)總結(jié)以及事務(wù),增加,刪除觸發(fā)器
sql不常用函數(shù)總結(jié)以及事務(wù),增加,刪除觸發(fā)器,需要的朋友可以參考下2012-06-06Sql2000數(shù)據(jù)庫的備份文件恢復(fù)到Sql2005的方法
真的和sql2000恢復(fù)方法不同,我用這里介紹的辦法恢復(fù)成功了2009-12-12case?when?then?else?end語句的用法(附demo)
本文主要介紹了case?when?then?else?end語句的用法,主要介紹了兩種格式,簡單case函數(shù)和case搜索函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10關(guān)于SQL的幾道小題詳解(sql進(jìn)階)
當(dāng)我們拿到題目的時(shí)候,并不是急于作答,那樣會得不償失的,而是分析思路,采用什么方法,達(dá)到什么目的,還要思考有沒有簡單的方法或者通用的方法等等,這樣才會達(dá)到以一當(dāng)十的效果2015-06-06