什么是与NOT LIKE运算符一起使用的不同通配符字符?
正如我们所知,NOT LIKE运算符与WILDCARD字符一起使用,以便不获取具有指定字符串的字符串。基本上,通配符是帮助匹配复杂条件数据的字符。以下是可以与NOT LIKE运算符一起使用的通配符类型:
阅读更多:MySQL 教程
% – 百分比
“%”通配符用于指定0、1或更多个字符的模式。使用 NOT LIKE 运算符的%通配符的基本语法如下:
Select Statement…Where column_name NOT LIKE ‘X%’
这里 X 是任何指定的起始模式,如单个字符或更多字符,%匹配从0开始的任意数量的字符。
百分号“%”通配符可以有许多种与指定模式一起使用的方式。以下是一些示例,显示不同的NOT LIKE运算符和%。这里的 X 表示指定的模式:
1. NOT LIKE ‘X%’ :它将查找除以“X”开头的值之外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE 'a%';
+------+---------+---------+-----------+--------------------+
| Id | Name | Address | Subject | year_of_Admission |
+------+---------+---------+-----------+--------------------+
| 1 | Gaurav | Delhi | Computers | 2001 |
| 15 | Harshit | Delhi | Commerce | 2009 |
| 20 | Gaurav | Jaipur | Computers | 2017 |
| 21 | Yashraj | NULL | Math | 2000 |
+------+---------+---------+-----------+--------------------+
4 rows in set (0.00 sec)
2. NOT LIKE ‘%X’: 它将查找除以“X”结尾的值之外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE '%v';
+------+---------+---------+----------+--------------------+
| Id | Name | Address | Subject | year_of_Admission |
+------+---------+---------+----------+--------------------+
| 15 | Harshit | Delhi | Commerce | 2009 |
| 21 | Yashraj | NULL | Math | 2000 |
+------+---------+---------+----------+--------------------+
2 rows in set (0.00 sec)
3. NOT LIKE ‘%X%’: 它将查找除了在任何位置都有“X”之外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE '%h%';
+------+--------+---------+-----------+--------------------+
| Id | Name | Address | Subject | year_of_Admission |
+------+--------+---------+-----------+--------------------+
| 1 | Gaurav | Delhi | Computers | 2001 |
| 2 | Aarav | Mumbai | History | 2010 |
| 20 | Gaurav | Jaipur | Computers | 2017 |
+------+--------+---------+-----------+--------------------+
3 rows in set (0.00 sec)
4. NOT LIKE ‘X%X’: 它将查找除了以“X”开头和以“X”结尾的值之外的所有值。
示例
mysql> Select * from Student Where Name NOT LIKE 'a%v';
+------+---------+---------+-----------+--------------------+
| Id | Name | Address | Subject | year_of_Admission |
+------+---------+---------+-----------+--------------------+
| 1 | Gaurav | Delhi | Computers | 2001 |
| 15 | Harshit | Delhi | Commerce | 2009 |
| 20 | Gaurav | Jaipur | Computers | 2017 |
| 21 | Yashraj | NULL | Math | 2000 |
+------+---------+---------+-----------+--------------------+
4 rows in set (0.00 sec)
_ 下划线
下划线通配符用于匹配正好一个字符。使用带有 NOT LIKE 运算符的 _ 通配符的基本语法如下:
Select 语句…Where 列名 NOT LIKE ‘X_’
这里的 **** X 是任何指定的起始模式,例如单个字符或更多字符,_ 匹配正好一个字符。
下划线 ‘ _ ‘ 通配符可与指定的模式一起使用,单独或结合 %,用多种方式。以下是一些使用 % 显示的不同 NOT LIKE 运算符的示例。这里的 X 代表指定的模式:
1. NOT LIKE ‘X_’: 将查找任何值,其不以“X”开头,并仅在 X 后面具有一个字符。
示例
mysql> 从学生中选择* ,入学年份不 LIKE '200_';
+------+--------+---------+-----------+--------------------+
| Id | Name | Address | Subject | year_of_admission |
+------+--------+---------+-----------+--------------------+
| 2 | Aarav | 孟买 | 历史 | 2010 |
| 20 | Gaurav | 斋普尔 | 计算机 | 2017 |
+------+--------+---------+-----------+--------------------+
2 行记录 (0.00秒)
2. NOT LIKE ‘_X’: 将查找任何值,其不以“X”结尾,并仅在 X 之前具有一个字符。
示例
mysql> 从学生中选择* ,入学年份不 LIKE '_017';
+------+---------+---------+-----------+--------------------+
| Id | Name | Address | Subject | year_of_admission |
+------+---------+---------+-----------+--------------------+
| 1 | Gaurav | 德里 | 知识 | 2001 |
| 2 | Aarav | 孟买 | 历史 | 2010 |
| 15 | Harshit | 德里 | 商业 | 2009 |
| 21 | Yashraj | NULL | 数学 | 2000 |
+------+---------+---------+-----------+--------------------+
4 行记录 (0.00 秒)
3. NOT LIKE _X%: % 通配符与其组合在一起。将查找任何值,其在第二个位置具有 X。
示例
mysql> 从学生中选择* ,姓名不 LIKE '_a%';
空集(0.00秒)
4. NOT LIKE X_%_%: % 通配符与其组合在一起。将查找任何具有至少三个字符长度并以 X 开头的值。
示例
mysql> 从学生中选择* ,姓名不 LIKE 'g_%_%';
+------+---------+---------+----------+--------------------+
| Id | Name | Address | Subject | year_of_admission |
+------+---------+---------+----------+--------------------+
| 2 | Aarav | 孟买 | 历史 | 2010 |
| 15 | Harshit | 德里 | 商业 | 2009 |
| 21 | Yashraj | NULL | 数学 | 2000 |
+------+---------+---------+----------+--------------------+
3 行记录 (0.00秒)