文档章节

mysql中模糊查询

myzyq
 myzyq
发布于 2015/08/16 11:41
字数 560
阅读 35
收藏 2

1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 比如 SELECT * FROM [user] WHERE u_name LIKE '%三%' 将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。 另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件 SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%' 若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句: 比如 SELECT * FROM [user] WHERE u_name LIKE '' 只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__'; 只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。 比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三' 将找出“张三”、“李三”、“王三”(而不是“张李王三”); 如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e” SELECT * FROM [user] WHERE u_name LIKE '老[1-9]' 将找出“老1”、“老2”、……、“老9”;

4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。 比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三' 将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等; SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 将排除“老1”到“老4”,寻找“老5”、“老6”、……

5,查询内容包含通配符时 由于通配符的缘故,导致我们查询特殊字符“%”、“”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数: function sqlencode(str) str=replace(str,"';","';';") str=replace(str,"[","[[]") ';此句一定要在最先 str=replace(str,"","[_]") str=replace(str,"%","[%]") sqlencode=str end function

本文转载自:http://www.jb51.net/article/48315.htm

共有 人打赏支持
myzyq
粉丝 2
博文 39
码字总数 4196
作品 0
昌平
程序员
私信 提问
MySQL单表多字段模糊查询解决方法

在最近的一个项目需要实现在单表中对多字段进行多个关键字的模糊查询,但这数个关键字并不一定都存在于某个字段 例如现有table表,其中有title,tag,description三个字段,分别记录一条资料...

BearCatYN
2014/09/20
0
1
mongodb(一) 命令操作

---layout: blogistop: truetitle: "mongodb 命令操作"date: 2018-08-01category: mongodbtags: mongodb --- 查询 基本查询 模糊查询(示例中: 和 省略) |------|----------------------|----......

开心的哈士奇
2018/10/17
0
0
java mysql hr系统中的员工编号问题

java mysql 对于hr系统中的员工编号该设计成什么类型的?要实现员工编号自增,又要支持模糊查询,设置成int 可以实现自增,但似乎不支持模糊查询,设置成varchar不可以自增.......

nvlll
2016/09/26
455
10
MySql 查询以逗号分隔的字符串的方法(正则)

现数据库表中某个字段保存的值为“01,07,08”,需要sql去查询下表中到相应的名称: 1、使用findinset()... 查询字段中包含01,07,08的记录: SELECT * FROM test WHERE find_in_set('01',it...

豆花饭烧土豆
2016/03/13
411
0
求助ibatis单字段如何匹配多个模糊查询。在线等

假设companyInfor表中有address字段, 但address字段中的都是地址全称:比如是中国北京市XX街XX路...... 现在我要查询出是北京,上海,广州的公司 select * form companyinfor where address...

代码诗人
2016/07/29
328
3

没有更多内容

加载失败,请刷新页面

加载更多

dotConnect for Oracle入门指南(六):使用事务

【下载dotConnect for Oracle最新版本】 dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的解决方案。它为设计应用程序结构带来了新的...

电池盒
12分钟前
1
0
Spring Batch JSR-305 支持

本发布版本中为 JSR-305 支持添加了一个注解。这个为了与 Spring 框架中的 Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs。 这个注解不仅仅在使用 Spring Batch APIs ...

honeymoose
13分钟前
0
0
React Native工程中TSLint静态检查工具的探索之路

背景 建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时...

美团技术团队
15分钟前
0
0
mysql update select

在遇到需要update设置的参数来自从其他表select出的结果时,需要把update和select结合使用,不同数据库支持的形式不一样,在mysql中如下: update A inner join(select id,name from B) c on A.i...

张欢19933
18分钟前
0
0
KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机

KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机 2.刷入第三方Recovery(即TWRP) TWRP(TeamWin Recovery Project)是一款XDA大神开发的一款全触屏操作的第三方Recovery。支持滑动确认...

大学霸
21分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部