程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SqlServer中模糊查詢對於特殊字符的處理方法

SqlServer中模糊查詢對於特殊字符的處理方法

編輯:關於SqlServer

今天在處理sql查詢的時候遇到了like查詢不到的問題,於是對問題進行剖析

問題:

select * from v_workflow_rt_task_circulate where Name like '%[admin]請假申請[2017-02-13至2017-02-13]%'

查詢不到,但是在數據庫中是存在在這一條數據的。

修改後:

 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中模糊查詢對於特殊字符的處理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved