關於sqlite的特殊字元轉義

l_serein發表於2012-11-28
select 
* fromtablewhere  number like '%/%%' escape '/'...
    sqlite3資料庫在搜尋的時候,一些特殊的字元需要進行轉義, 具體的轉義如下: 
     /   ->    //
     '   ->    ''
     [   ->    /[
     ]   ->    /]
     %   ->    /%
     &   ->    /&
     _   ->    /_
     (   ->    /(
     )   ->    /)

需要注意的是,特殊字元並沒有用反斜槓“\”表示轉義符。

[java] view plaincopy
  1. public static String sqliteEscape(String keyWord){  
  2.     keyWord = keyWord.replace("/""//");  
  3.     keyWord = keyWord.replace("'""''");  
  4.     keyWord = keyWord.replace("[""/[");  
  5.     keyWord = keyWord.replace("]""/]");  
  6.     keyWord = keyWord.replace("%""/%");  
  7.     keyWord = keyWord.replace("&","/&");  
  8.     keyWord = keyWord.replace("_""/_");  
  9.     keyWord = keyWord.replace("(""/(");  
  10.     keyWord = keyWord.replace(")""/)");  
  11.     return keyWord;  
  12. }  

相關文章