SQL LIKE
SELECT 欄位, 欄位, ... FROM 資料表 WHERE 欄位 LIKE 模式;
在WHERE 子句中,使用LIKE 指令模式來搜尋資料使用
LIKE 模式的萬用字元:
- %(百分比符號):代表零,一個或多個字
- _(底線):代表單個字
以下用萬用字元
- LIKE 'a%' :以'a'開頭的字串,LIKE '%a' :以'a'結尾的字串.
- LIKE '%ABC%':字串中任何有ABC的字串.
- LIKE '_CD%':字串中的第二個字母為C和第三字母為D的字串.
- LIKE 'C_D':任何字串中'A'起開頭的字串與'D'為結尾的值.
在Select 子句中,想針對CompanyName 欄位中有'A'開頭字串時,則搭配WHERE 子句使用 LIKE 模式的萬用字元進行資料篩選
SELECT * FROM Customers WHERE CompanyName 'A%';
CustomerID |
CompanyName |
ContactName |
Address |
City |
PostalCode |
Country |
1 |
Alfreds Futterkiste |
Maria Anders |
Obere Str. 57 |
Berlin |
12209 |
Germany |
2 |
Ana Trujillo Emparedados y helados |
Ana Trujillo |
Avda. de la Constitucion 2222 |
Mexico D.F. |
05021 |
Mexico |
3 |
Antonio Moreno Taqueria |
Antonio Moreno |
Mataderos 2312 |
Mexico D.F. |
05023 |
Mexico |
4 |
Around the Horn |
Thomas Hardy |
120 Hanover Sq. |
London |
WA1 1DP |
UK |
5 |
Berglunds snabbkop |
Christina Berglund |
Berguvsvagen 8 |
Lulea |
S-958 22 |
Sweden |
6 |
Blauer See Delikatessen |
Hanna Moos |
Forsterstr. 57 |
Mannheim |
68306 |
Germany |
7 |
Blondesddsl pere et fils |
Frederique Citeaux |
24, place Kleber |
Strasbourg |
67000 |
France |
8 |
Bolido Comidas preparadas |
Martin Sommer |
C/ Araquil, 67 |
Madrid |
28023 |
Spain |
9 |
Bon app' |
Laurence Lebihan |
12, rue des Bouchers |
Marseille |
13008 |
France |
10 |
Bottom-Dollar Markets |
Elizabeth Lincoln |
23 Tsawassen Blvd. |
Tsawassen |
T2F 8M4 |
Canada |
11 |
Du monde entier |
Janine Labrune |
67, rue des Cinquante Otages |
Nantes |
44000 |
France |
結果:
CustomerID |
CompanyName |
ContactName |
Address |
City |
PostalCode |
Country |
1 |
Alfreds Futterkiste |
Maria Anders |
Obere Str. 57 |
Berlin |
12209 |
Germany |
2 |
Ana Trujillo Emparedados y helados |
Ana Trujillo |
Avda. de la Constitucion 2222 |
Mexico D.F. |
05021 |
Mexico |
3 |
Antonio Moreno Taqueria |
Antonio Moreno |
Mataderos 2312 |
Mexico D.F. |
05023 |
Mexico |
4 |
Around the Horn |
Thomas Hardy |
120 Hanover Sq. |
London |
WA1 1DP |
UK |
額外補充
如果字串使用逗號串接時,LIKE 使用方式 ',' + 欄位 + ',' LIKE '%,值,%',前後都加入 逗號做篩選 例如: 欄位值Other : 1,3,81,92,15 .串接文字,SQL LIKE 寫法則可使用 ',' + Other LIKE '%,15,%'
PHP SQL寫法有所不同則為,concat(',',Other,',') like '%,15,%'