MySql的like语句中的通配符:百分号、下划线和escape
封面图
•
2025-10-26
•
MySQL
235
0
0
0
在 MySQL 的 `LIKE` 语句中,可以使用以下通配符来进行模糊匹配: --- ## 🔹 1. 百分号 `%` - **作用**:匹配任意数量(包括零个)的字符。 - **示例**: ```sql SELECT * FROM users WHERE name LIKE 'A%'; -- 匹配以 A 开头的所有名字 SELECT * FROM users WHERE name LIKE '%a'; -- 匹配以 a 结尾的所有名字 SELECT * FROM users WHERE name LIKE '%an%'; -- 匹配包含 "an" 的所有名字 ``` --- ## 🔹 2. 下划线 `_` - **作用**:匹配**单个**字符。 - **示例**: ```sql SELECT * FROM users WHERE name LIKE 'A_'; -- 匹配两个字符,第一个是 A,第二个是任意一个字符 SELECT * FROM users WHERE name LIKE '_n'; -- 匹配两个字符,第二个是 n SELECT * FROM users WHERE name LIKE 'A__'; -- 匹配三个字符,第一个是 A,后面两个是任意字符 ``` --- ## 🔹 3. `ESCAPE` 关键字 当你要匹配实际的 `%` 或 `_` 字符时,需要使用 `ESCAPE` 来转义这些符号。 - **语法**: ```sql SELECT * FROM table_name WHERE column LIKE 'pattern' ESCAPE 'escape_char'; ``` - **示例**: ```sql -- 假设要查找包含 '%' 的字符串 SELECT * FROM logs WHERE message LIKE 'Error %' ESCAPE '\'; -- 匹配 "Error %" 中的 % -- 或者使用其他转义字符,比如 '#' SELECT * FROM logs WHERE message LIKE 'Error #%' ESCAPE '#'; -- 匹配 "Error %" 中的 % -- 查找包含下划线的字符串 SELECT * FROM data WHERE value LIKE 'abc#_' ESCAPE '#'; -- 匹配 "abc_" ``` --- ## ✅ 总结对比 | 通配符 | 含义 | 示例 | 说明 | |--------|-------------------|-----------------------------|------------------------------| | `%` | 任意多个字符 | `'A%'`, `'%a'`, `'%an%'` | 可以匹配 0 个或多个字符 | | `_` | 单个字符 | `'A_'`, `'_n'`, `'A__'` | 只能匹配一个字符 | | `ESCAPE` | 转义字符 | `'A\%' ESCAPE '\'` | 用于转义 `%` 或 `_` 等特殊字符 | --- 如果你有具体的查询需求,也可以告诉我,我可以帮你写出对应的 SQL 语句。
上一篇:
MySQL备份命令mysqldump参数说明与示例
下一篇:
mySQL查询优化
标题录入,一次不能超过6条
留言
评论