mysql正则表达式匹配应用.docVIP

  • 9
  • 0
  • 约7.84千字
  • 约 9页
  • 2017-02-27 发布于湖北
  • 举报
mysql where子句的模式匹配 今天在应用中遇到了这样的一个问题, 有一个字段 t1,其中的值类似于:1,1,1,2,3,3,4,4,5,5,2,4,3,2,1,2 需要从里面搜索出比如说:第一个逗号前的数字范围为3-5之间,第三个逗号前的数字的范围为3-5之间,第10个逗号前的数字范围为3-5之间,其余的都为1-5之间。。。 则sql语句可以这么写: SELECT * FROM tb WHERE t1 REGEXP ^[3-5],[1-5],[3-5],[1-5],[1-5],[1-5],[1-5],[1-5],[1-5],[3-5],[1-5],[1-5],[1-5],[1-5],[1-5],[1-5]%; 1. 使用LIKE和NOT LIKE比较操作符(注意不能使用=或!=); 2. 模式默认是忽略大小写的; 3. 允许使用”_”匹配任何单个字符,”%”匹配任意数目字符(包括零字符); MySQL还提供象UNIX实用程序的扩展正则表达式模式匹配的格式: 1. 使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,他们是同义词); 2. REGEXP模式匹配与被匹配字符的任何地方匹配,则匹配成功(即只要被匹配字符包含或者可以等于所定义的模式,就匹配成功); 不同于LIKE模式匹配,只有和整个值匹配,才匹配成功(即只有被匹配字符完全和所定义的模式匹

文档评论(0)

1亿VIP精品文档

相关文档