MySQL LIKE 運算子可以使用哪些不同的萬用字元?


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

 % - 百分號

‘%’ 萬用字元用於指定 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)

 _ 下劃線

下劃線萬用字元用於匹配 exactly 一個字元。使用 _ 萬用字元的基本語法如下所示:Select Statement…Where column_name LIKE ‘X_’

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

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

1. LIKE ‘X_’:- 它將查詢以“X”開頭且之後 exactly 一個字元的任何值。

示例

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”結尾且之前 exactly 一個字元的任何值。

示例

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)

更新於:2020年2月6日

347 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.