zoukankan      html  css  js  c++  java
  • Mysql sql声明召回2 --正则表达式

    这里简单回顾mysql在过滤后的数据使用正则表达式时。主要利用每方法将样品,或添加一些简短的说明。

    下面说说提前,使用正则表达式是用来过滤数据 REGEXPkeyword


    基本字符相匹配:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000’;

    该查询语句的意思是prod_name字段中包括1000的数据,仅仅要值中的不论什么部位包括1000都能够

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘.000’。

    "."代表的是单个字符的通配符。相当于不论什么单个字符。类似LIKE中的通配符"_"一样。该语句的意思是查询处prod_name字段中包括诸如1000,2000,或者随意一个字符后边跟上000的数据


    进行OR匹配:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000|2000’;

    在这里“|”代表or的意思,也就是“或”的意思。该语句会吧prod_name字段中包括1000或者包括2000或者两个都包括的数据查询出来。or匹配能够给出两个以上的匹配项比如 1000|2000|3000


    匹配几个字符之中的一个:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘[123] Ton’;

    []括起来的部分表示匹配当中一个比如 1 Ton 。2 Ton 这样


    匹配范围:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘[1-9] Ton’;

    假设在上一个样例中[]括起来的部分的字符比較长。并且都是数组,并且数字又是连续的话,能够改成范围匹配,这样sql语句会更加简短一点,当然能够把[1-9]换成[123456789]。假设是字母的话但是使用[a-z]这种方式


    匹配特殊字符:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘\.’;

    在mysql中要匹配特殊字符的话须要加上//转义一下才干够,由于特殊字符在sql语句中有特殊的含义


    匹配多个实例:

    首先须要介绍几个匹配字符

    * 0个或者多个匹配

    + 一个或者多个匹配(等于{1,})

    ?

    0个或者一个匹配(等于{0,1})

    {n} 指定数目的匹配

    {n,} 不少于指定数目的匹配

    {n,m} 匹配数目的范围(m不超过255)

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘\([0-9] sticks?\)’;

    在该语句中?匹配它前面的不论什么字符的0次或者一次出现


    定位符:

    ^ 匹配文本的開始

    $ 匹配文本的结尾

    [[:<:]] 词的開始

    [[:>:]] 词的结尾

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘^[0-9\.]’;

    匹配字符串的意思只是要.而对于数据的开始的任意数字被查询

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    硬件笔记之删除UEFI启动项
    高数学习笔记之向量内积(点乘)和外积(叉乘)概念及几何意义
    机器学习笔记之聚类算法K-Means
    机器学习之聚类算法Mean Shift
    机器学习笔记之聚类算法 层次聚类 Hierarchical Clustering
    机器学习笔记之决策树分类Decision Tree
    机器学习笔记之一步步教你轻松学关联规则Apriori算法
    机器学习笔记之占一步步教你学K-means
    完美解决github访问速度慢
    ROS2 cartographer 保存地图
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4643094.html
Copyright © 2011-2022 走看看