近日在使用mysql的like查詢用戶時,當用戶姓名中含有" ' ","%","_",,"\"等特殊符號時,按以往的查詢方式,並不能得出想要的結果。
查閱資料得知:在遇到這些特殊字符時,需要對字符進行轉義。
- ':用於包裹搜索條件,需轉為\';
- %:用於代替任意數目的任意字符,需轉換為\%;
- _:用於代替一個任意字符,需轉換為\_;
- \:轉義符號,需轉換為\\\\。
以下是一些匹配的舉例。
1,搜索a'b...
SELECT * FROM user WHERE name LIKE 'a\'b%';
2,搜索a%b...
SELECT * FROM user WHERE name LIKE 'a\%b%';
3,搜索a_b...
SELECT * FROM user WHERE name LIKE 'a\_b%';
4,搜索a\b...
SELECT * FROM user WHERE name LIKE 'a\\\\b%';
