SQL - 萬用字元



SQL 萬用字元

SQL 萬用字元是特殊字元,用作字串中一個或多個字元的替代符。它們與 SQL 中的 LIKE 運算子一起使用,用於搜尋字元字串中的特定模式或比較各種字串。

SQL 中的 LIKE 運算子區分大小寫,因此它只匹配與指定模式大小寫完全相同的字串。

以下是 SQL 中最常用的萬用字元:

序號 萬用字元和描述
1

百分號 (%)

匹配一個或多個字元。

注意 - MS Access 使用星號 (*) 萬用字元代替百分號 (%) 萬用字元。

2

下劃線 (_)

匹配一個字元。

注意 - MS Access 使用問號 (?) 代替下劃線 (_) 來匹配任何一個字元。

百分號 (%) 表示字串中零個、一個或多個字元。下劃線 (_) 表示單個字元或數字。這些符號也可以組合使用,以在 SQL 查詢中執行復雜的模式搜尋和匹配。

語法

以下是使用萬用字元的基本語法:

SELECT * FROM table_name
WHERE column_name LIKE [wildcard_pattern];

我們可以使用 AND 或 OR 運算子組合 N 個條件。這裡,[wildcard_pattern] 可以表示任何數值或字串值。

下表演示了在 WHERE 子句中結合 LIKE 運算子使用萬用字元的各種方法

序號 語句和描述
1

WHERE SALARY LIKE '200%'

查詢以 200 開頭的任何值。

2

WHERE SALARY LIKE '%200%'

查詢在任何位置都有 200 的任何值。

3

WHERE SALARY LIKE '_00%'

查詢在第二位和第三位都有 00 的任何值。

4

WHERE SALARY LIKE '2_%_%'

查詢以 2 開頭且至少有 3 個字元的任何值。

5

WHERE SALARY LIKE '%2'

查詢以 2 結尾的任何值。

6

WHERE SALARY LIKE '_2%3'

查詢第二位有 2 且以 3 結尾的任何值。

7

WHERE SALARY LIKE '2___3'

查詢五位數中以 2 開頭並以 3 結尾的任何值。

示例

首先,讓我們使用以下查詢建立一個名為 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

以下 INSERT 查詢將記錄新增到 CUSTOMERS 表中:

INSERT INTO CUSTOMERS VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00),
(2, 'Khilan', 25, 'Delhi', 1500.00),
(3, 'Kaushik', 23, 'Kota', 2000.00),
(4, 'Chaitali', 25, 'Mumbai', 6500.00),
(5, 'Hardik', 27, 'Bhopal', 8500.00),
(6, 'Komal', 22, 'Hyderabad', 4500.00),
(7, 'Muffy', 24, 'Indore', 10000.00);

表將建立為:

ID 姓名 年齡 地址 薪水
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在這裡,我們顯示 CUSTOMERS 表中薪水以 200 開頭的所有記錄。

SELECT * FROM CUSTOMERS WHERE SALARY LIKE '200%';

輸出

這將產生以下結果。

ID 姓名 年齡 地址 薪水
1 Ramesh 32 Ahmedabad 2000.00
3 Kaushik 23 Kota 2000.00
廣告
© . All rights reserved.