SQL 通配符 在搜索資料庫中的數據時,SQL 通配符可以替代一個或多個字元。 SQL 通配符必須與 LIKE 運算符一起使用。 在 SQL 中,可使用以下通配符: [^charlist]或者[!charlist] 原始的表 (用在例子中的): Persons 表: 使用 % 通配符 例子 1 現在 ...
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 | Beijing |
使用 % 通配符
例子 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 | Beijing |
使用 [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 | Beijing |
通配符轉譯
項目中進行數據查詢,當查詢條件需支持模糊查詢時,除了對查詢條件進行特殊字元校驗處理以外,還需對模糊查詢的條件對通配符進行處理,以支持模糊查詢功能正常實現。通配符 | 轉譯後值 |
---|---|
% | \\% |
_ | \\_ |