MySQL LIKE操作符可以使用哪些不同的通配符字符

MySQL LIKE操作符可以使用哪些不同的通配符字符

我们知道LIKE操作符与通配符字符一起使用,以获取具有指定字符串的字符串。通配符是帮助搜索与复杂条件匹配的数据的字符。下面是可以与LIKE操作符结合使用的通配符的类型。

阅读更多:MySQL 教程

% – 百分比符号

“%”通配符用于指定0、1或多个字符的模式。使用%通配符的基本语法如下

Select Statement…Where column_name LIKE ‘X%’

在这里,X是任何指定的起始模式,如单个字符或更多字符,%匹配从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 Statement…Where column_name LIKE ‘X

在这里,X是任何指定的起始模式,如单个字符或更多字符,_匹配恰好一个字符。

下划线“_”通配符可以与指定的模式一起使用,单独使用或与%结合使用,有很多种方式。以下是一些示例,显示不同的LIKE操作符及其使用方式。在这些示例中,X表示指定的模式。

1. LIKE ‘X_’:- 它将找到任何以“X”开头且X后恰好有一个字符的值。

示例

mysql> 选择 * 从学生 WHERE year_of_Admission LIKE '200_';
+------+---------+---------+-----------+--------------------+
| Id   | 名字    | 地址    | 学科      | 入学年份           |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | 德里    | 计算机    |              2001  |
| 15   | Harshit | 德里    | 商业      |              2009  |
| 21   | Yashraj | NULL    | 数学      |              2000  |
+------+---------+---------+-----------+--------------------+
3 行 (0.00 sec)

2. LIKE ‘_X’:- 它会查找以“X”结尾且在X之前刚好有一个字符的任何值。

例子

mysql> 选择 * 从学生 WHERE year_of_Admission LIKE '_017';
+------+--------+---------+-----------+--------------------+
| Id   | 名字   | 地址    | 学科      | 入学年份           |
+------+--------+---------+-----------+--------------------+
| 20   | Gaurav | 蓟州    | 计算机    |              2017  |
+------+--------+---------+-----------+--------------------+
1 行 (0.00 sec)

3. LIKE _X%:- 它结合了%通配符。它会找到第二位是X的任何值。

例子

mysql> 选择 * 从学生 WHERE Name LIKE '_a%';
+------+---------+---------+-----------+--------------------+
| Id   | 名字    | 地址    | 学科      | 入学年份           |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | 德里    | 计算机    |              2001  |
| 2    | Aarav   | 孟买    | 历史      |              2010  |
| 15   | Harshit | 德里    | 商业      |              2009  |
| 20   | Gaurav  | 蓟州    | 计算机    |              2017  |
| 21   | Yashraj | NULL    | 数学      |              2000  |
+------+---------+---------+-----------+--------------------+
5 行 (0.00 sec)

4. LIKE X_%_%:- 它结合了%通配符。它会找到以X开头且长度至少为三个字符的任何值。

例子

mysql> 选择 * 从学生 WHERE Name LIKE 'g_%_%';
+------+--------+---------+-----------+--------------------+
| Id   | 名字   | 地址    | 学科      | 入学年份           |
+------+--------+---------+-----------+--------------------+
| 1    | Gaurav | 德里    | 计算机    |              2001  |
| 20   | Gaurav | 蓟州    | 计算机    |              2017  |
+------+--------+---------+-----------+--------------------+
2 行 (0.00 sec)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程