标签:F12 select 通配 tps method 表示 name 开头 模式
为在搜索子句中使用通配符,必须使用 LIKE 操作符。 LIKE 指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
select column_name1 from table_name where column_name2 like ‘jet%‘;
检索以jet开头的数据,默认不区分大小写。
只匹配一个字符,不能多也不能少,不能像%通配符一样匹配0个或多个。
select column_name from table_name where column_name REGEXP ‘1000‘;
检索column_name字段中含有字符1000的数据。比如:jef1000sad;
如果使用LIKE,那么它将不会匹配jef1000sad中的1000,因为LIKE是全词匹配。
select column_name from table_name where column_name REGEXP ‘.000‘;
检索含有‘000‘前面有一个字符的数据。比如:
ssfdd1000
dsafd2000
这两个都可以。
select column_name from table_name where column_name REGEXP ‘100|101‘;
把要匹配的内容用单引号括起来,此语句匹配字段中含有100或者101的值。是含有,而不是全词匹配。
使用中括号:
select column_name from table_name where column_name REGEXP ‘[35] tom‘;
此语句匹配含有‘3 tom’或者‘5 tom’的字段值。注意不是全词匹配,含有就行。
此外还可以进行范围匹配:
如果我们要查找字段值中含有‘.’的值,假如我们使用:
... REGEXP ‘.‘;
那么我们将匹配中所有字段,因为在正则表达式中点号表示匹配任意一个字符。所以我们需要转义:
select column_name from table_name where column_name REGEXP ‘\\.‘;
特殊字符匹配:
举个例子,匹配含有空格的字段值,不仅可以使用:
... REGEXP ‘ ‘;
还可以根据上表中的[:blank:]:
select name from tb2 where name regexp ‘[[:blank:]]‘;
记住外面还需要套上个中括号才行。
举两个例子:
字符‘s‘后面跟的问号表示匹配0个或1个,所以可以匹配到含有‘stick‘或者‘sticks‘.
下一个例子:
第一个正则表达式匹配任意出现的数字,而{4}又规定了出现4次,所以这个语句检索连续出现4个数字的字段值。
我们上面用的正则表达式都是在字段值中的任意位置进行匹配,但假如我们要检索开头的某些字符的字段值呢?
开头:^
select name from tb2 where name regexp ‘^[1-5]‘;
检索开头是以1或2或3或4或5的字段值。
结尾:$
select name from tb2 where name regexp ‘[mo]$‘;
检索以字符m或者o结尾的字段值。
^ 符号还有一个用途:
在中括号中间表示检索不在这个集合中间的值:
select name from tb2 where name regexp ‘[^1-3 tom]‘;
此语句是检索除了‘1 tom‘,‘2 tom‘,‘3 tom‘以外的字段值。可以看做全词否定。
标签:F12 select 通配 tps method 表示 name 开头 模式
原文地址:https://www.cnblogs.com/love-jelly-pig/p/10357185.html