转义特殊字符要点
- 默认 % 和 _ 是通配符,要搜字面量必须转义
- 写法:LIKE '%50#%%' ESCAPE '#',# 后的 % 当普通字符
- 转义符可自定义,常用 # 或反斜杠,前后要一致
- LIKE '%#_%%' ESCAPE '#' 可匹配真正含下划线的串
- 应用层拼 SQL 前要先转义用户输入里的 % 和 _
- 用参数化查询能从根上避免通配符注入问题
转义特殊字符示例
SELECT * FROM promo WHERE label LIKE '%50#%%' ESCAPE '#';
SELECT * FROM chapter WHERE title LIKE '%#_%%' ESCAPE '#';
避坑提醒:凡是把用户输入拼进 LIKE 的,先替换掉里面的 % 和 _(或改用参数化查询),否则用户搜『100%』会意外匹配一堆数据。