SQL LIKE

SQL LIKE

LIKE 操作符用於在 WHERE 子句中搜尋列中的指定模式。

基本介紹

  • 中文名:連結
  • 外文名:SQL LIKE
  • 所屬領域:資料庫
基本介紹,原始的表,實例,例子 1,例子 2,例子 3,例子 4,

基本介紹

SQL LIKE 操作符語法
SELECT column_name(s)FROM table_name WHERE column_name LIKE pattern
占位符
‘_':下劃線,表示1個任意字元;如 ... where name like '_am',表示僅第一位任意,並以'am'結尾,結果如"Tam","Mam","Pam"等。
'%’: 百分號,表示任意個任意字元;如 ... where name like ‘%am',表示前面可以有任意位,只要以'am'結尾,結果如"abcam",“bcdefgham","qwertyuiopam","am"等等。
SQL對like 操作中的特殊字元處理方法:
SQL Server查詢過程中,單引號 ' 是特殊字元,所以在查詢的時候要轉換成雙單引號 '' 。
在like操作還有以下特殊字元:下劃線_,百分號%,方括弧[],尖號^。 其用途如下:
下劃線:用於代替一個任意字元(相當於正則表達式中的 ? ) 百分號:用於代替任意數目的任意字元(相當於正則表達式中的 * )
方括弧:用於轉義(事實上只有左方括弧用於轉義,右方括弧使用最近優先原則匹配最近的左方括弧)
尖號:用於排除一些字元進行匹配(這個與正則表達式中的一樣)
以下是一些匹配的舉例,需要說明的是,只有like操作才有這些特殊字元,=操作是沒有的。
a_b... a[_]b%
a%b... a[%]b%
a[b... a[[]b%
a]b... a]b%
a[]b... a[[]]b%
a[^]b... a[[]^]b%
a[^^]b... a[[]^^]b%
在實際進行處理的時候,對於=操作,我們一般只需要如此替換:
' -> ''
對於like操作,需要進行以下替換(注意順序也很重要)
[ -> [[] (這個必須是第一個替換的!!)
% -> [%] (這裡%是指希望匹配的字元本身包括的%而不是專門用於匹配的通配符)
_ -> [_]

原始的表

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" 表中選取居住在以 "N" 開始的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE City LIKE 'N%'提示:"%" 可用於定義通配符(模式中缺少的字母)。
結果集:
Id
LastName
FirstName
Address
City
2
Bush
George
Fifth Avenue
New York

例子 2

接下來,我們希望從 "Persons" 表中選取居住在以 "g" 結尾的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE City LIKE '%g'
結果集:
Id
LastName
FirstName
Address
City
3
Carter
Thomas
Changan Street
Beijing

例子 3

接下來,我們希望從 "Persons" 表中選取居住在包含 "lon" 的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE City LIKE '%lon%'結果集:
Id
LastName
FirstName
Address
City
1
Adams
John
Oxford Street
London

例子 4

通過使用 NOT 關鍵字,我們可以從 "Persons" 表中選取居住在不包含 "lon" 的城市裡的人:
我們可以使用下面的 SELECT 語句:
SELECT * FROM PersonsWHERE City NOT LIKE '%lon%'結果集:
Id
LastName
FirstName
Address
City
2
Bush
George
Fifth Avenue
New York
3
Carter
Thomas
Changan Street
Beijing
check!

熱門詞條

聯絡我們