1. escape characters in sqlikte
Select * from table where number like '%/%' escape '/'
When the sqlite3 database is searching, some special characters need to be escaped,The escape is as follows:
/ -> //
' -> ''
[ -> /[
] -> /]
% -> /%
& -> /&
_ -> /_
( -> /(
) -> /)Note that special characters do not use the Backslash "\" to indicate escape characters.
public static String sqliteEscape(String keyWord){
keyWord = keyWord.replace("/", "//");
keyWord = keyWord.replace("'", "''");
keyWord = keyWord.replace("[", "/[");
keyWord = keyWord.replace("]", "/]");
keyWord = keyWord.replace("%", "/%");
keyWord = keyWord.replace("&","/&");
keyWord = keyWord.replace("_", "/_");
keyWord = keyWord.replace("(", "/(");
keyWord = keyWord.replace(")", "/)");
return keyWord;
}
2. wildcards that indicate a single character and any multiple characters in SQL statements
%
Any string that contains zero or multiple characters.
Where title like '% Computer %' searches for all titles containing the word "computer" anywhere in the title.
_ (Underline)
Any single character.
Where au_fname like '_ EAN' searches for the names of all four letters ending with EAN (such as dean and Sean ).
[]
Specifies any single character in the range ([a-f]) or set ([abcdef.
Where au_lname like '[C-P] Arsen' will look for the author's surname that ends with arsen and starts with any single character between C and P, such as Carsen, Larsen, Karsen, etc.
[^]
It does not belong to any single character in the specified range ([a-f]) or set ([abcdef.
Where au_lname like 'de [^ L] %' searches for the last names of all authors whose names start with De and whose subsequent letters are not l.