SQL 陳述式中的萬用字元

來源:互聯網
上載者:User
語句

萬用字元:

萬用字元描述樣本%包含零個或更多字元的任一字元串。WHERE title LIKE '%computer%' 將尋找處於書名任意位置的包含單詞 computer 的所有書名。_(底線)任何單個字元。WHERE au_fname LIKE '_ean' 將尋找以 ean 結尾的所有 4 個字母的名字(Dean、Sean 等)。[ ]指定範圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字元。WHERE au_lname LIKE '[C-P]arsen' 將尋找以arsen 結尾且以介於 C 與 P 之間的任何單個字元開始的作者姓氏,例如,Carsen、Larsen、Karsen 等。[^]不屬於指定範圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字元。WHERE au_lname LIKE 'de[^l]%' 將尋找以 de 開始且其後的字母不為 l 的所有作者的姓氏。

將萬用字元作為文字使用

可以將萬用字元模式比對字元串用作文字字串,方法是將萬用字元放在括弧中。下表顯示了使用 LIKE 關鍵字和 [ ] 萬用字元的樣本。

符號含義LIKE '5[%]'5%LIKE '[_]n'_nLIKE '[a-cdf]'a、b、c、d 或 fLIKE '[-acdf]'-、a、c、d 或 fLIKE '[ [ ]'[LIKE ']']LIKE 'abc[_]d%'abc_d 和 abc_deLIKE 'abc[def]'abcd、abce 和 abcf

使用 ESCAPE 子句的模式比對

可搜尋包含一個或多個特殊萬用字元的字串。例如,customers 資料庫中的 discounts 表可能儲存含百分比符號 (%) 的折扣值。若要搜尋作為字元而不是萬用字元的百分比符號,必須提供 ESCAPE 關鍵字和轉義符。例如,一個樣本資料庫包含名為 comment 的列,該列含文本 30%。若要搜尋在 comment 列中的任何位置包含字串 30% 的任何行,請指定由 WHERE comment LIKE '%30!%%' ESCAPE '!' 組成的 WHERE 子句。如果不指定 ESCAPE 和轉義符,SQL Server 將返回所有含字串 30 的行。

下例說明如何在 pubs 資料庫 titles 表的 notes 列中搜尋字串"50% off when 100 or more copies are purchased":

SELECT notes FROM titles WHERE notes LIKE '50%% off when 100 or more copies are purchased' ESCAPE '%'



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。