摘要:T-SQL :LIKE與萬用字元
SQL透過WHERE與LIKE的組合,達到模糊比對的目的,語法類似底下這個樣子:
SELECT
[Name]
FROM Production.Product
WHERE Name LIKE '%Ball%'
其中接在LIKE運算子後面的,是用來作為糢糊比對的條件式,它的意義是說,只要Name這個欄位裡面的值,包含了一個Ball的單字,就將其資料找出來。
BB Ball Bearing
Bearing Ball
Headset Ball Bearings
「%」是比較通用的萬用字元,它表示任何的字元,另外還有一個以底線表示的萬用字元「_」,它表示一個單一字元,如果要比對的模糊條件,只允許單一字元,則使用這個底線來作條件值比較好。
SELECT
[Name]
FROM Production.Product
WHERE Name LIKE '_hainring%'
這段語法所回傳的結果如下:
Chainring
Chainring Bolts
Chainring Nut
只要第二個字元開始是hainring的資料,都會被找回來,注意,在此之前,只能有一個字元,否則同樣不符合條件。
如果我們進一步改成如下的陳述式:
SELECT
Name
FROM Production.Product
WHERE Name LIKE '_hainrin_'
回傳的將會是單一的「Chainring」,因為底線只允許最後出現一個單一字元。