mysql模糊查询的四种用法


原文链接:https://www.cnblogs.com/-lin-x-c-/p/10375412.html

一.%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百 分号(%%)表示。

*注:like '%龙%':查询出所有含有“龙”的记录 1. 所查询字段 + like '%龙%' eg:select * from user where realname like '%龙%' 把含有“龙”字的 realname 字段搜索出来     二._: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句: 1.查询出中间含有“林”字的realname字段(前提:名字三个字) select * from user where realname like '_林_' =select * from user where realname like '%_林_%'   2.查询出姓林的姓名(名字三个字) select * from user where realname like'林__'(这里有两横杠) =select * from user where realname like '%林__%'(这里有两横杠) 查询出姓“林”的realname,且realname的字数必须为3               查询名字最后一个字为“林”的姓名(姓名可以有两个字,也可以是三个字) select * from user where realname like '%_林%'     三.[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。   select * from user where realname like '[张蔡王]杰' 查询出“张杰”,“蔡杰”,“王杰”(而不是“张蔡王杰”)   如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”  select * from user where realname like '林[1-9]'将会查询出“林1”“林2”......“林9”   四.[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。   select * from user where realname like '[^张蔡王]杰' 查询出不姓“张”,“蔡”,“王”的“林杰”,“赵杰”等   select * from user where realname like '林[^1-4]' 将排除“林1”到“林4”,寻找“林5”、“林6”、……