可以与 MySQL LIKE 运算符一起使用的不同通配符有哪些?
众所周知,LIKE 运算符与 WILDCARD 字符一起使用以获取具有指定字符串的字符串。基本上,WILDCARD 是帮助搜索符合复杂条件的数据的字符。以下是可以与 LIKE 运算符一起使用的通配符类型
% - 百分比
‘%’ 通配符用于指定 0、1 或多个字符的模式。使用 % 通配符的基本语法如下
Select Statement…Where column_name LIKE ‘X%’
此处,X 是任何指定的起始模式,例如 more 的单个字符,而 % 可匹配从 0 开始的任意数量的字符。
百分比"%"通配符可以以多种方式与指定模式结合使用。以下是一些示例,展示了带有 % 的不同 LIKE 运算符。这些示例中的 X 代表指定模式。
1. LIKE "X%":- 它将查找以"X"开头的任何值。
示例
mysql> Select * from Student Where name LIKE 'a%'; +------+-------+---------+---------+ | Id | Name | Address | Subject | +------+-------+---------+---------+ | 2 | Aarav | Mumbai | History | +------+-------+---------+---------+ 1 row in set (0.00 sec)
2. LIKE ‘%X’:- 它将查找以“X”结尾的任何值。
示例
mysql> Select * from Student Where name LIKE '%v'; +------+--------+---------+-----------+ | Id | Name | Address | Subject | +------+--------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 20 | Gaurav | Jaipur | Computers | +------+--------+---------+-----------+ 3 rows in set (0.00 sec)
3. LIKE ‘%X%’:- 它将查找任何位置有 “X” 的值。
示例
mysql> Select * from Student Where name LIKE '%h%'; +------+---------+---------+----------+ | Id | Name | Address | Subject | +------+---------+---------+----------+ | 15 | Harshit | Delhi | Commerce | | 21 | Yashraj | NULL | Math | +------+---------+---------+----------+ 2 rows in set (0.00 sec)
4. LIKE ‘X%X’:-它将查找以“X”开头并以“X”结尾的任何值。
示例
mysql> Select * from Student Where name LIKE 'a%v'; +------+-------+---------+---------+ | Id | Name | Address | Subject | +------+-------+---------+---------+ | 2 | Aarav | Mumbai | History | +------+-------+---------+---------+ 1 row in set (0.00 sec)
_ 下划线
下划线通配符用于匹配一个字符。使用 _ 通配符的基本语法如下 −Select 语句…Where column_name LIKE ‘X_’
此处,X 是任何指定的起始模式,例如 more 中的单个字符,而 _ 匹配一个字符。
下划线 ‘_’ 通配符可以单独使用,也可以与 % 结合使用,以多种方式与指定模式结合使用。以下是一些示例,展示了带有 % 的不同 LIKE 运算符。在这些示例中,X 代表指定的模式。
1. LIKE ‘X_’:- 它将查找以 “X” 开头且 X 后只有一个字符的任何值。
示例
mysql> Select * from student WHERE year_of_Admission LIKE '200_'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 3 rows in set (0.00 sec)
2. LIKE ‘_X’:- 它将查找以“X”结尾且在 X 之前只有一个字符的任何值。
示例
mysql> Select * from student WHERE year_of_Admission LIKE '_017'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 1 row in set (0.00 sec)
3. LIKE _X%:- 它与 % 通配符结合使用。它将查找第二个位置有 X 的任何值。
示例
mysql> Select * from student WHERE Name LIKE '_a%'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 5 rows in set (0.00 sec)
4. LIKE X_%_%:- 它与 % 通配符结合使用。它将查找以 X 开头且长度至少为三个字符的任何值。
示例
mysql> Select * from student WHERE Name LIKE 'g_%_%'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 2 rows in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

