mysql通配符怎么表示任意字符_mysql通配符表示任意字符的方法介绍

来源:这里教程网 时间:2026-02-28 20:23:33 作者:

在MySQL中,通配符主要用于LIKE操作符配合进行模糊查询。表示任意字符的通配符主要有两个:“%”“_”,它们有不同的用途。

% 表示任意数量的字符(包括零个字符)

“%”可以匹配任意长度的字符串,包括空字符串。

例如: SELECT * FROM users WHERE name LIKE 'a%'; —— 匹配所有以“a”开头的名字,如“alice”、“andy”等。 SELECT * FROM users WHERE name LIKE '%on%'; —— 匹配名字中包含“on”的记录,如“John”、“London”。 SELECT * FROM users WHERE name LIKE '%'; —— 匹配所有非NULL的name值。

_ 表示单个任意字符

“_”只匹配一个字符,不能多也不能少。

例如: SELECT * FROM users WHERE name LIKE 'A_e'; —— 匹配像“Abe”、“Ade”这样的三字母名字,中间一个任意字符。 SELECT * FROM users WHERE phone LIKE '138__00__00'; —— 匹配特定格式的手机号,其中“_”代表未知但确定为一位的数字。

使用ESCAPE自定义转义字符

如果要查找的字段本身包含“%”或“_”,就需要用ESCAPE指定转义字符。

例如: SELECT * FROM products WHERE name LIKE '100\%' ESCAPE '\'; —— 查找名字为“100%”的产品。 SELECT * FROM codes WHERE code LIKE 'A_B' ESCAPE '!'; 可写成 LIKE 'A!_B' ESCAPE '!' —— 匹配实际包含下划线的“A_B”。

基本上就这些。掌握“%”和“_”的用法,再结合ESCAPE处理特殊字符,就能灵活实现MySQL中的模糊匹配。注意LIKE对大小写是否敏感取决于字段的排序规则(collation),必要时可用LOWER()统一处理。不复杂但容易忽略细节。

相关推荐