mysql通配符使⽤
mysql通配符使⽤:
在mysql查询中,经常会⽤到通配符,⽽且mysql的通配符和pgsql是有所不同的,甚⾄mysql中还可以使⽤正则表达式。本⽂就为⼤家带来mysql查询中通配符的使⽤。
SQL模式匹配:
“_” 匹配单个字符,”\_” 匹配”_”
“%” 匹配任意个字符,包括零个字符
sql模式下的匹配,缺省是对于字母的⼤⼩写没有要求,并且sql模式下,“=”或”!=”是不能在模糊匹配中使⽤的,⽽是使⽤ like 或 not like.
例如:
SELECT * FROM [user] WHERE u_name LIKE ‘%三%’;
SELECT * FROM [user] WHERE u_name LIKE ‘_三_’;
正则模式匹配:
当使⽤正则匹配时,使⽤REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,功能是⼀样的)。
其中涉及到的字符是:
“.” 匹配任何单个的字符。
“[…]” 表⽰匹配在⽅括号内的任何字符。如,”[abc]” 则匹配”a”、”b”或者”c”,“[a-z]”匹配任何⼩写字母,⽽“[0-9]”匹配任何数字。
“ * ”表⽰匹配零个或多个在它前⾯的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,⽽“.*”匹配任何数量的任何东西。
注意:正则表达式是区分⼤⼩写的,但是我们也能使⽤⼀个字符类匹配两种写法。例如,“[aA]”匹配⼩写或⼤写的“a”⽽“[a-zA-Z]”匹配两种写法的任何字母。
为了定位⼀个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使⽤“^”或在模式的结尾⽤“$”。
例如:
查寻以三开头的名字
FROM [user] WHERE u_name REGEXP ‘^三’;
— 查寻以三结尾的名字
FROM [user] WHERE u_name REGEXP ‘三$’;
— “重复n次”操作符重写先前的查询:
正则匹配两个大写字母加两个数字
FROM [user] WHERE u_name REGEXP ‘b{2}$’;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。