SQL 萬用字元
阿新 • • 發佈:2021-06-19
在搜尋資料庫中的資料時,您可以使用 SQL 萬用字元。
SQL 萬用字元
在搜尋資料庫中的資料時,SQL 萬用字元可以替代一個或多個字元。
SQL 萬用字元必須與 LIKE 運算子一起使用。
在 SQL 中,可使用以下萬用字元:
萬用字元 | 描述 |
---|---|
% | 替代一個或多個字元 |
_ | 僅替代一個字元 |
[charlist] | 字元列中的任何單一字元 |
[^charlist] 或者 [!charlist] |
不在字元列中的任何單一字元 |
原始的表 (用在例子中的):
Persons 表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Changsha |
使用 % 萬用字元
例子 1
現在,我們希望從上面的 "Persons" 表中選取居住在以 "Ne" 開始的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE City LIKE 'Ne%'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
例子 2
接下來,我們希望從 "Persons" 表中選取居住在包含 "lond" 的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE City LIKE '%lond%'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
使用 _ 萬用字元
例子 1
現在,我們希望從上面的 "Persons" 表中選取名字的第一個字元之後是 "eorge" 的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | New York |
例子 2
接下來,我們希望從 "Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然後是一個任意字元,然後是 "r",然後是任意字元,然後是 "er":
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Changsha |
使用 [charlist] 萬用字元
例子 1
現在,我們希望從上面的 "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
例子 2
現在,我們希望從上面的 "Persons" 表中選取居住的城市不以"A" 或 "L" 或 "N" 開頭的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
結果集:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Changsha |