mysql查询中通配符的使用

   
在mysql查询中经常会使用通配符,并且mysql的通配符和pgsql的存在区别(稍候再讨论),而且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]”匹配两种写法的任何字母。
如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
例如:
– 查寻以 三 开头的名字
FROM [user] WHERE u_name REGEXP ‘^三’;
– 查寻以 三 结尾的名字
FROM [user] WHERE u_name REGEXP ‘三$’;
– “重复n次”操作符重写先前的查询:
FROM [user] WHERE u_name REGEXP ‘b{2}$’;

最新文章

  1. Unity Game窗口中还原Scene窗口摄像机操作 强化版
  2. python2.x与3.x差别
  3. select 和 input 的不可编辑,input隐藏
  4. WPF,Silverlight与XAML读书笔记第四十四 - 外观效果之样式
  5. .NET基金会开源项目
  6. php--城市分类
  7. PHP 字符串函数--替换、正则匹配等
  8. solr 竞价排行
  9. CDOJ 1104 求两个数列的子列的交集 查询区间小于A的数有多少个 主席树
  10. Oracle笔记1
  11. Entropy (huffman) 优先队列)
  12. 怎样在loop中处理异常
  13. 关于删除数组中重复元素的lintcode代码
  14. Java里的不能与无用.
  15. SpringCloud入门之Spring Boot多环境配置切换指南
  16. Echarts使用Ajax异步获得数据的前端json格式转化问题
  17. 【Dubbo 源码解析】08_Dubbo与Spring结合
  18. nltk中的三元词组,二元词组
  19. base64编码的作用【转】
  20. PairProject-电梯调度程序结对编程

热门文章

  1. C#,.Net 学习资源
  2. LinqToDB 源码分析——生成与执行SQL语句
  3. Map工具系列-03-代码生成BySQl工具使用说明
  4. google map 计算地图面积方法
  5. TIS100入门向攻略
  6. Web Api通过Route、RoutePrefix等特性设置路由
  7. 您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
  8. LInux iptables学习
  9. 机器学习中的矩阵方法(附录A): 病态矩阵与条件数
  10. LINQ学习之旅(六)
  11. 【BZOJ】【1855】【SCOI2010】/【HDOJ】【3401】股票交易
  12. json分别算出元素的个数和最多的元素
  13. spring4之依赖注入的三种方式
  14. 闲聊js中的apply、call和arguments
  15. SpringBoot启动原理及相关流程
  16. shell实战之日志脱敏-2.0
  17. mysql的一点小错误
  18. My ajaxwrapper tool
  19. vs断点未能绑定
  20. 【BZOJ】【3771】Triple