***1.sqlite中的轉義符
select * from table where number like '%/%%' escape '/'
sqlite3資料庫在搜尋的時候,一些特殊的字元需要進行轉義,
具體的轉義如下: /
-> //
' ->
''[
-> /[
] -> /]
% -> /%
& -> /&
_ -> /_
( -> /(
) -> /)
需要注意的是,特殊字元並沒有用反斜槓「\」表示轉義符。
這句話是不正確的,至少在sqliteman中是可以使用'\'或'/'作為轉義符的。
以下查詢語句,都可以查詢出相同的結果:
select _id, _data from images where _data like '%/"hello/"%' escape '/';
select _id, _data from images where _data like '%\"hello\"%' escape '\';
public static string sqliteescape(string keyword)
2.sql語句中表示單個字元和任意多個字元的萬用字元%
包含零個或多個字元的任意字串。
where title like '%computer%' 將查詢在書名中任意位置包含單詞 "computer" 的所有書名。
_(下劃線)
任何單個字元。
where au_fname like '_ean' 將查詢以 ean 結尾的所有 4 個字母的名字(dean、sean 等)。
[ ]指定範圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字元。
where au_lname like '[c-p]arsen' 將查詢以 arsen 結尾並且以介於 c 與 p 之間的任何單個字元開始的作者姓氏,例如 carsen、larsen、karsen 等。
[^]不屬於指定範圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字元。
where au_lname like 'de[^l]%' 將查詢以 de 開始並且其後的字母不為 l 的所有作者的姓氏。
關於jxl寫入特殊字元問題
目前我在應用中碰到乙個情況,就是在excel裡寫入英文的單引號 在單元格裡是不顯示出來的。但是通過jxl寫入卻變成了中文的單引號 如下 jxl.write.label label new jxl.write.label j,i,ws.addcell label 注意這裡的是英文版的單引號,但是寫入到...
關於字串 zero 的特殊解法
字串 zero 給你乙個只包含 0 與 1 的字串s,你可以對這個字串進行操作,每次操作將字串中任意乙個字元移動到字串的任意位置,例如s 0010 你可以將首位的0移動到末尾位置,使得s 0100 現在有q次詢問,每次詢問給出乙個操作次數上限k,每次詢問你需要回答在對字串s進行不超過k次操作後,字串...
python中關於url中特殊字元的編碼和解碼
編碼 from urllib.parse import quote text quote text,utf 8 解碼 from urllib.parse import unquote text unquote text,utf 8 假如url 乙個ajax請求,url的字元 等需要轉碼才能傳遞 那麼...