mysql 中模糊查詢有兩種顷牌,一種LIKE湘今, NOT LIKE 。另一種就是匹配 REGECXP唉窃, NOT REGEXP耙饰。
LIKE NOT LIKE
1、%
表示任意幾個(gè)字符纹份,比如:
select * from T_Bank where BankName like '%農(nóng)%'
將查詢出BankName中任何帶有 ‘農(nóng)’的數(shù)據(jù)苟跪。
2、_
任意單個(gè)字符蔓涧,比如:
select * from T_Bank where BankName like '農(nóng)'
只會(huì)查詢出BankName 有三個(gè)字中間一個(gè)是‘農(nóng)’的數(shù)據(jù)件已。
3、[]
表示匹配[ ] 內(nèi)的任意一個(gè)字符比如:
select * from T_Bank where BankName like '[張李王]三'
只會(huì)查詢出張三元暴、李三篷扩、王三 的數(shù)據(jù)。
[0-9],[a-e] 表示[0123456789] [abcde]等茉盏。
4瞻惋、[^]
表示取反厦滤,查詢出不是某些匹配的數(shù)據(jù)比如:
select * from T_Bank where BankName like '[^張李王]三'
表示查詢出排除張三、李三歼狼、王三 的數(shù)據(jù)掏导。
REGECXP, NOT REGEXP
1羽峰、^
表示以某個(gè)字符開頭的比如:
select * from T_Bank where BankName REGEXP '^中國'
查詢出以中國開頭的數(shù)據(jù)
2趟咆、$
表示查詢出以某個(gè)字符結(jié)尾的比如:
select * from T_Bank where BankName REGEXP '移動(dòng)$'
查詢出以移動(dòng)結(jié)尾的數(shù)據(jù)。
3梅屉、.
表示任意字符
select * from T_Bank where BankName REGEXP '.移.'
查詢出以任意帶有‘移’的數(shù)據(jù)值纱。
4、*
匹配0 或者多個(gè)字符坯汤,前面必須有字符
select * from T_Bank where BankName REGEXP '中國'
查詢出中國開頭的所有字符
5虐唠、
select * from T_Bank where BankName REGEXP '中國'
查詢出任意含有中國的數(shù)據(jù)
6、a
匹配任意多個(gè)a(包括空串)
7惰聂、a+
匹配任意多個(gè)a(不包括空串)
8疆偿、a?
匹配一個(gè)或零個(gè)a
9、a|b
匹配a或者b