MySql模糊查询中特殊字符处理
近日在使用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%';
吾生也有涯,而知也无涯~~~
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步