NOT LIKE 運算子可以與哪些不同的萬用字元一起使用?


眾所周知,NOT LIKE 運算子與萬用字元一起使用,用於不獲取包含指定字串的字串。基本上,萬用字元是幫助搜尋匹配複雜條件的資料的字元。以下是可以與 NOT LIKE 運算子一起使用的萬用字元型別

% - 百分號

“%”萬用字元用於指定 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 Statement…Where column_name NOT LIKE ‘X_’

這裡 **X** 是任何指定的起始模式,例如單個字元或更多字元,而 _ 匹配恰好一個字元。

下劃線“_”萬用字元可以單獨使用或與 % 結合使用,並可以以多種方式與指定的模式一起使用。以下是一些顯示使用 % 的不同 NOT LIKE 運算子的示例。在這些示例中,X 表示指定的模式

**1. NOT LIKE ‘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. NOT LIKE ‘_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. NOT LIKE _X%**: 它與 % 萬用字元結合使用。它將查詢除在第二個位置包含 X 的任何值以外的值。

示例

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

**4. NOT LIKE 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)

更新於: 2020年2月7日

118 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.