%表示任何字元出現任意次數。
查詢出表table中name欄位中任意位置包含i的行:
select查詢出表table中name欄位中開頭位置包含i的行:*from
table
where name like
'%i%
'
select查詢出表table中name欄位中結尾位置包含i的行*from
table
where name like'i%
'
select注意:%不能匹配null;有一些字段首尾可能會出現空格,為了避免影響匹配結果,可以是同ltrim和rtrim函式去掉首尾的空格。下劃線萬用字元只代表乙個字元。*from
table
where name like'%i
'
使用方法和%一樣,比如查詢出表table中name為『aaa』開頭的四個字母的行
select除了使用like進行模糊匹配,還可以使用正規表示式進行模糊匹配。*from
table
where name like
'aaa_
'
正規表示式操作符:regexp
查詢出表table中,欄位name以a結尾的且只有兩個字母的所有行:
select.是正規表示式的特殊字元,代表匹配任意乙個字元。*from
table
where name regexp '
.a'
查詢出表table中,欄位name為aaa或bbb的行:
select|為正規表示式的或操作符。*from
table
where name regexp '
aaa|bbb
'
查詢出表table中,欄位name以a或b或c開頭,且結尾為dd的行:
select[abc]定義一組字元,意思是:匹配a或b或c。*from
table
where name regexp '
[abc]dd
'
查詢出表table中,欄位name以1到9開頭,且結尾為a的行:
select[1-9]意為:匹配1到9任意數字,[a-z]意為匹配任意字元。*from
table
where name regexp '
[1-9]a
'
這種問題幾乎在每種語言中都會出現,即需要查詢的內容中包含特殊字元。這時候就需要轉義了。
在mysql中轉義符為\\
查詢出表table中,name欄位包含.的行:
注意:正規表示式匹配不區分大小寫,如果需要區分在regexp後面加上關鍵字:binary
正規表示式 和 萬用字元
正規表示式 正規表示式主要是用來描述乙個句法規則的模式。其實說的通俗一點,就是利用字元和元字元的組合,對一些符合既定句法的模式進行模糊匹配。它的主要功能是文字查詢和字串操作。正規表示式的基本元素包括普通字元和元字元,在linux shell裡面,常用的正規表示式元字符集為 s 每乙個元字元都有自己在...
萬用字元和正規表示式
1.like操作符 2.百分號萬用字元 在搜尋串中,表示任何字元出現的任意次數。不能匹配null,如like jet 表示以jet開頭的後面不管多少字元的匹配。如果區分大小寫查詢,使用binary select from test where binary name test 3.下劃線萬用字元 下...
萬用字元和正規表示式
萬用字元叫做檔名萬用字元更能突出其作用範圍,因為 萬用字元主要用於檔名的通配 可以在 shell 命令中使用,常用的萬用字元有以下幾個 星號用來匹配 任意長度 的任意字元。問號用來匹配 任意單個字元。匹配指定範圍 之外的任意單個字元。如 a z lower 匹配小寫字母 a z之外的任意單個字元 匹...