zoukankan      html  css  js  c++  java
  • 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}$";
      匹配三个字的名字
    

      

  • 相关阅读:
    51单片机学习1
    M41T11-RTC(实时时钟)
    ATmega8仿真——外部中断的学习
    C# 调用动态代码
    C# Attribute的用法
    DataTable相关
    addin1
    多线程信号源_红绿灯
    EF CodeFirst简单实例
    WCF配置Tcp协议
  • 原文地址:https://www.cnblogs.com/yishengPan/p/13656736.html
Copyright © 2011-2022 走看看