like語句的語法格式為:select * from table name where字段名LIKE對應值(substring),主要針對字符字段,其作用是在壹個字符字段列中檢索對應的子串。
答:%任何包含零個或多個字符的字符串:1,如' Mc% '將搜索所有以字母Mc開頭的字符串(如McBadden)。
2.LIKE“% inger”將搜索所有以字母inger結尾的字符串(如r inger和Stringer)。
3.LIKE“% en %”將在任何地方搜索包含字母en的所有字符串(如Bennet、Green、McBadden)。
B:_(下劃線)任何單個字符:比如' _heryl '會搜索所有以字母heryl結尾的六個字母的名字(比如Cheryl,Sheryl)。
C: []指定範圍([a-f])或集合([abcdef])中的任意單個字符:1,如'[C:[] ars [EO] n '將搜索以下字符串:carsen、Carsen、Carson和Carson(如Carson)。
2.LIKE'[M-Z]inger '將搜索所有以字符串inger結尾並以從M到Z的任何單個字母開頭的名稱(如Ringer)..
D: []任何不屬於指定範圍([a-f])或集合([abcdef])的單個字符:如' m [c]% '將搜索所有以字母m開頭且第二個字母不是c的名字(如MacFeather)。
E: *與DOS命令中的通配符相同,代表多個字符:c*c代表cc、cbc、cBc、cabdfec等字符。
f:?和DOS命令中的壹樣?通配符,代表單個字符:b?b代表brb,bFb等
G: #和上面大致相同,只是代只能代表壹個數。K#k代表k1k,k8k,k0k。
女:【!]排除它僅表示單個字符。
我們舉個例子:
例如1,查詢名稱字段包含單詞“Ming”。
Select * from table 1其中name如' % Ming% '
示例2,查詢名稱字段以單詞“Li”開頭。
Select * from table 1其中名稱如' Li * '
示例3,查詢包含數字的名稱字段。
select * from table 1 where name like“%[0-9]%”
例4,用小寫字母查詢姓名字段。
select * from table 1 where name like“%[a-z]%”
示例5,“查詢名稱”字段不包含數字。
select * from table 1 where name like“%[!0-9]%'
在上面的例子中很明顯可以列出哪些值。但是在這裏,我們要解釋的是通配符“*”和“%”的區別。
很多朋友會問,上面的查詢中我有壹個個體來表示所有字符,為什麽我要用“%”而不是“* ”?讓我們來看看下面例子的結果:
select * from table 1 where name like ' * Ming * '
Select * from table 1其中name如' % Ming% '
如您所見,前面的語句列出了所有記錄,而下壹條記錄列出了name字段中帶有“Ming”的記錄。因此,當我們進行字符字段包含子串的查詢時,最好使用“%”而不是“*”。使用“*”時,只在開頭或只在結尾,而不是任何字符兩端都用“*”替換時。