程式設計

請選擇下方類別,查看您想了解的「程式設計」知識。

  • 資料庫程式設計
  • import_contacts LIKE
    68
適用範圍

LIKE 指令用於 WHERE 子句常用的條件式

實用性:
重要性:

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,%'