NOT LIKE运算符可以使用哪些不同的通配符?

众所周知,NOT LIKE运算符与WILDCARD字符一起使用,以获取没有指定字符串的字符串。基本上,WILDCARD是帮助搜索与复杂条件匹配的数据的字符。以下是可与NOT LIKE运算符结合使用的通配符类型:

% - 百分比

'%'通配符用于指定0、1或更多字符的模式。将%通配符与NOT LIKE运算符一起使用的基本语法如下:

Select Statement…Where column_name NOT LIKE ‘X%’

这里X是越来越%的单个字符任何指定的开始图案匹配等任何数量的从0开始的字符。 

百分比“%”通配符可以采用多种方式使用指定模式。以下是一些示例,显示了不同的%相似的NOT LIKE运算符。在这些示例中,X代表指定的模式:

1.不喜欢'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.不喜欢'%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.不喜欢'%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.不喜欢'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运算符使用_通配符的基本语法如下:

选择Statement…where column_name NOT LIKE'X_'

这里X是作为多个单个字符任何指定的开始图形和这样_匹配一个字符。 

下划线“ _”通配符可以与指定模式一起以多种方式单独使用或与%组合使用。以下是一些示例,显示了不同的%相似的NOT LIKE运算符。在这些示例中,X代表指定的模式:

1.不喜欢'X_':它将找到除以“ X”开头且在X之后仅一个字符的值之外的任何其他值。

mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_';

+------+--------+---------+-----------+--------------------+
| Id   | Name   | Address | Subject   | year_of_admission  |
+------+--------+---------+-----------+--------------------+
| 2    | Aarav  | Mumbai  | History   |              2010  |
| 20   | Gaurav | Jaipur  | Computers |              2017  |
+------+--------+---------+-----------+--------------------+

2 rows in set (0.00 sec)

2.不喜欢'_X':它将找到除以“ X”结尾且在X之前仅一个字符的其他值。

mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017';

+------+---------+---------+-----------+--------------------+
| Id   | Name    | Address | Subject   | year_of_admission  |
+------+---------+---------+-----------+--------------------+
| 1    | Gaurav  | Delhi   | Computers |              2001  |
| 2    | Aarav   | Mumbai  | History   |              2010  |
| 15   | Harshit | Delhi   | Commerce  |              2009  |
| 21   | Yashraj | NULL    | Math      |              2000  |
+------+---------+---------+-----------+--------------------+

4 rows in set (0.00 sec)

3.不喜欢_X%: 它与%通配符结合使用。它会找到第二个位置中除X以外的任何值。

mysql> Select * from Student Where Name NOT LIKE '_a%';
Empty set (0.00 sec)

4.不喜欢X _%_%:它与%通配符结合使用。它将找到除以X开头且长度至少为三个字符之外的任何值。

mysql> Select * from Student Where Name NOT LIKE 'g_%_%';

+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_Admission  |
+------+---------+---------+----------+--------------------+
| 2    | Aarav   | Mumbai  | History  |              2010  |
| 15   | Harshit | Delhi   | Commerce |              2009  |
| 21   | Yashraj | NULL    | Math     |              2000  |
+------+---------+---------+----------+--------------------+

3 rows in set (0.00 sec)
猜你喜欢