WHERE子句使用正则表达式进行搜索过滤
来源:互联网 发布:贵阳大数据广场在哪里 编辑:程序博客网 时间:2024/06/08 04:48
正则表达式:在列值内进行匹配(通配符匹配整列)
1基本字符匹配
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘1000’
ORDER BY prod_name;
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘.000’
ORDER BY prod_name;
.是正则表达式语言中一个特殊的字符,它表示匹配任意一个字符
使用LIKE和通配符表示:
SELECT prod_name
FROM products
WHERE prod_name LIKE ‘%000’
ORDER BY prod_name;
输出:
JetPack 1000
JetPack 2000
举例说明LIKE和REGEXP的区别:
SELECT prod_name
FROM products
WHERE prod_name LIKE ‘1000’
ORDER BY prod_name;
不返回数据
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘1000’
ORDER BY prod_name;
返回 JetPack 1000
LIKE匹配这个列,如果被匹配的文本在列值中出现,LIKE将不会找到。
REGEXP在列值中进行匹配,如果被匹配的文本在列值中出现,相应的行将被返回。REGEXP也可以使用^和$匹配整列。
匹配不区分大小写,如果要区分大小写,可以使用BINARY关键字(WHERE prod_name REGEXP BINARY ‘JetPack .000’)
2OR匹配
|位正则表达式的OR匹配,表示匹配其中之一
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘1000|2000’
ORDER BY prod_name;
输出:
JetPack 1000
JetPack 2000
3匹配几个字符之一
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘[123] Ton’
ORDER BY prod_name;
输出:
1 ton anvil
2 ton anvil
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘1|2|3 Ton’
ORDER BY prod_name;
匹配1 或2 或3 ton
[^123]匹配处这些字符以外的任何字符
4匹配范围
[0-9] [a-z]
5匹配特殊字符
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘.’
ORDER BY prod_name;
表示匹配任意字符,每行都被检索出来
\进行转义
SELECT prod_name
FROM products
WHERE prod_name REGEXP ‘\.’
ORDER BY prod_name;
匹配.
空白元字符
\f 换页
\n 换行
\r 回车
\t 制表
\v 纵向制表
\\ 反斜杠
多数正则表达式实现使用单个反斜杠转义特殊字符,MySQL要求两个反斜杠\(MySQL自己解释一个,正则表达式库解释一个)
6匹配字符类(使用预定义的字符集)
7匹配多个实例
- 0个或多个匹配
- 1个或多个匹配(等于{1,})
? 0个或一个匹配(等于{0,1})
{n} 指定数目的匹配
{n,} 不少于指定数目的匹配
{n,m} 匹配数目的范围(m不超过255)
8定位符
^ 文本的开始
$ 文本的结尾
[[:<:]]词的开始
[[:<:]]词的结尾
- WHERE子句使用正则表达式进行搜索过滤
- 使用where子句过滤表中数据
- 过滤数据-----where子句
- [My SQL] 使用正则表达式进行搜索
- Android EditText 使用正则表达式进行输入过滤
- where子句的使用
- 如何使用正则表达式搜索
- mysql---使用正则表达式搜索
- [MYSQL-9]用正则表达式进行搜索
- 使用flex 做关键词、正则表达式过滤
- android使用正则表达式过滤字符串
- 使用正则表达式过滤url链接
- 正则表达式过滤文本,replace的使用
- Code Fragment-使用正则表达式表示过滤
- 使用正则表达式过滤html标签
- 使用正则表达式过滤HTML中标签
- 正则表达式在文本过滤中的使用
- 正则表达式在文本过滤中的使用
- 软件测试类型(一)
- Linux(centos6.8)下Tomcat的安装与配置
- Unreal Engin_画廊制作笔记 _011<利用PS为场景添加滤镜效果>
- Mysql 优化
- opencv(10)---对比度亮度调整与通道分离与合并
- WHERE子句使用正则表达式进行搜索过滤
- 第八单元
- java中锁的深入理解(二)
- 数据结构——基础篇
- python数据分析:pandas数据结构与操作
- 浅谈嵌入式驱动设计
- lintcode(661)Convert BST to Greater Tree
- Python学习之 logging模块的使用
- 《程序员修炼之道》笔记(六)