SQL like的用法 模糊查詢,sql模糊查詢
模糊查詢:
參考資料:http://www.w3school.com.cn/sql/sql_wildcards.asp
在搜尋資料庫中的資料時,您可以使用 SQL 萬用字元。
SQL 萬用字元 Like
在搜尋資料庫中的資料時,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 PersonsWHERE City LIKE 'Ne%'
結果集:
Id |
LastName |
FirstName |
Address |
City |
2 |
Bush |
George |
Fifth Avenue |
New York |
例子 2
接下來,我們希望從 "Persons" 表中選取居住在包含 "lond" 的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE City LIKE '%lond%'
結果集:
Id |
LastName |
FirstName |
Address |
City |
1 |
Adams |
John |
Oxford Street |
London |
使用 _ 萬用字元例子 1
現在,我們希望從上面的 "Persons" 表中選取名字的第一個字元之後是 "eorge" 的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE FirstName LIKE '_eorge'
結果集:
Id |
LastName |
FirstName |
Address |
City |
2 |
Bush |
George |
Fifth Avenue |
New York |
例子 2
接下來,我們希望從 "Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然後是一個任一字元,然後是 "r",然後是任一字元,然後是 "er":
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE 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 PersonsWHERE 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 PersonsWHERE City LIKE '[!ALN]%'
結果集:
Id |
LastName |
FirstName |
Address |
City |
3 |
Carter |
Thomas |
Changan Street |
Beijing |