• SQL中常见的模糊查询like与正则表达式


    1.普通的模糊查询

     SELECT 字段 FROM 表名 WHERE 字段 LIKE 条件
    

      关于条件又可以分为四种匹配模式:

      1)%表示零个或任意多个字符。

      SELECT * FROM student WHERE stu_name LIKE ‘%诗%’
    

      这样就可以筛选出刘诗雯、王诗淼等类的人。

      2)_: 表示任意单个字符、匹配单个任意字符。

      SELECT * FROM student WHERE stu_name LIKE '_诗_'
    

      这样可以匹配到刘诗雯、刘刘诗雯雯、刘诗雯雯雯雯等等中间出现诗的名字。

      3)[^ ] :表示不在括号所列之内的单个字符。

      SELECT * FROM student WHERE stu_name LIKE '[^赵钱孙]诗雯'
    

      这样可以排除赵诗雯、钱诗雯、孙诗雯。

      4)[ ]:表示括号内所列字符中的一个。

      SELECT * FROM student WHERE stu_name LIKE '[赵钱孙]诗雯'
    

      这样可以匹配到赵诗雯、钱诗雯、孙诗雯。(类似正则表达式)

    2.正则表达式,使用REGEXP和NOT REGEXP操作符

      “.”匹配任何单个的字符:一个字符类“[...]”匹配在方括号内的任何字符。

      “ * ”匹配零个或多个在它前面的东西: 例如[a-z] *表示随机匹配任何数量a-z之间的字母

      使用“^”和“$”匹配名字的开始和结尾

      SELECT * FROM student WHERE stu_name REGEXP "^.....$";
      名字包含五个字符的学生

      “{n}”“重复n次”

      SELECT * FROM student WHERE stu_name REGEXP "^.{3}$";
      匹配三个字的名字
    

      

  • 相关阅读:
    Ubuntu网卡配置
    Ubuntu软件包管理器
    更改系统语言环境
    简单泛型
    surface知识点
    RTMP协议
    直播技术之现代播放器原理
    直播技术之延迟优化
    直播技术之处理
    【转】草根老师的 linux字符设备驱动详解
  • 原文地址:https://www.cnblogs.com/yishengPan/p/13656736.html
Copyright © 2020-2023  润新知