SQL入门教程(07) LIKE

LIKE  是另一个在  WHERE 子句中会用到的指令。基本上,LIKE  能让我们依据一个套式 (pattern)  来找出我们要的资料。相对来说,在运用  IN  的时候,我们完全地知道我们需要的条件;在运用  BETWEEN  的时候,我们则是列出一个范围。

LIKE  的语法如下:
SELECT “栏位名” FROM “表格名” WHERE ” 栏位名” LIKE { 套式}  
{套式}  经常包括野卡 (wildcard).  以下是几个例子:
•   ‘A_Z’:  所有以 ‘A’  起头,另一个任何值的字原,且以 ‘Z’  为结尾的字串。 ‘ABZ’  和 ‘A2Z’  都符合这一个模式,而 ‘AKKZ’    并不符合 ( 因为在 A  和 Z  之间有两个字原,而不是一个字原)。 
•   ‘ABC%’:  所有以 ‘ABC’ 起头的字串。举例来说,’ABCD’  和 ‘ABCABC’  都符合这个套式。 
•   ‘%XYZ’:  所有以 ‘XYZ’  结尾的字串。举例来说,’WXYZ’  和 ‘ZZXYZ’ 都符合这个套式。 
•   ‘%AN%’:  所有含有 ‘AN’  这个套式的字串。举例来说, ‘LOS ANGELES’  和 ‘SAN FRANCISCO’  都符合这个套式。 
我们将以上最后一个例子用在我们的 Store_Information  表格上:

Store_Information 表格 

store_name

sales

date

Los Angeles

1500

jan-05-1999

San Diego

250

jan-07-1999

Los Angeles

300

jan-08-1999

Boston

700

jan-08-1999

我们就打入 

SELECT * FROM Store_Information WHERE store_name LIKE ‘%AN%’

结果

store_name

sales

date

Los Angeles

1500

jan-05-1999

San Francisco

300

jan-08-1999

San Diego

250

jan-07-1999