前面介绍利用一些关键字搭配相应的SQL语句进行数据库查找过滤,但随着过滤条件的复杂性的增加,where 子句本身的复杂性也会增加。这时我们就可以利用正则表达式来进行匹配查找。

1.基本字符匹配

select * from products where prod_name regexp '' order by prod_name; --匹配产品名字中出现1000的字符商品

select * from products where prod_name regexp '.000' order by prod_name; -- . 表示匹配任意字符,语句也就表示匹配以 000 结尾的任意字符

2.进行or匹配

select * from products where prod_name regexp '1000|2000' order by prod_name; --匹配商品名称包含1000或者2000的商品信息

3.匹配几个字符之一

select * from products where prod_name regexp [] ton order by prod_name; --[123]表示定义的一组字符,匹配名字为 1 ton 和 2 ton 

4.匹配范围

select * from products where prod_name regexp [1-9] ton order by prod_name; --[1-9]表示定义的一组字符匹配范围,表示匹配1到9 

5.匹配特殊字符

select * from products where prod_name regexp '\\.' order by prod_name; --在正则表达式中 . 表示匹配任意字符,有特殊含义,我们在匹配时要用\\转义一下。

其他也需要转义的元素:

\\f 换页; \\n换行; \\r回车; \\t制表; \\v 纵向制表

6.匹配多个实例

select prod_name from products where prod_name regexp '\\([0-9] sticks?\\)' order by prod_name;  --\\( 表示匹配 (,[0-9] 表示匹配任意字符 ?表示匹配0个或1个字符

* : 匹配0个或多个字符

+ :匹配1个或多个字符

? : 匹配0个或1个字符

^ : 文本的开始

$ : 文本的结尾

最新文章

  1. .Net 开源项目资源大全
  2. Maven:将Jar安装到本地仓库和Jar上传到私服
  3. vector使用篇之erase
  4. 【分布式协调器】Paxos的工程实现-cocklebur简介(二)
  5. hdu 1272 小希的迷宫
  6. jquery .post .get中文参数乱码解决方法详解
  7. 【循序渐进学Python】5.Python常用流程控制及其他语句
  8. linux free 命令
  9. javascript 网络是否连接的几种方案
  10. 在PowerDesigner中设计物理模型1——表和主外键
  11. activiti源码解读之心得整编
  12. do -while语句的使用
  13. JDBC (一)
  14. LoadRunner【第四篇】参数化
  15. LINQ to Entities 不识别方法“System.DateTime AddDays(Double)
  16. [转帖]pfSense软路由系统的使用
  17. SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)
  18. FuelPHP 系列(五) ------ Security 防御
  19. es分布式文档系统_bulk api的奇特json格式与底层性能优化关系
  20. ArcGIS10.3新体验

热门文章

  1. [转] Ubuntu/Linux Mint/Debian 安装 Java 8
  2. 中文分词实践(基于R语言)
  3. linux 经常使用网络命令
  4. qq xxs
  5. ‘CONFIG_ENV_SIZE’未声明(不在函数内【转】
  6. POJ 3650:The Seven Percent Solution
  7. [翻译]NUnit---Equality Asserts&& Identity Asserts (四)
  8. bzoj1854 [Scoi2010]游戏——匈牙利算法
  9. Java序列化系列教程(上)
  10. P2339 提交作业usaco(区间dp)