码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-09-18 01:29:31      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:四种   查询   多个   nbsp   括号   正则表达式   name   表达   sql   

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}$";
  匹配三个字的名字

  

 

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

标签:四种   查询   多个   nbsp   括号   正则表达式   name   表达   sql   

原文地址:https://www.cnblogs.com/yishengPan/p/13656736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!