在进行数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
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,"%","[%]")
sqlencode=str
end function
在查询前将待查字符串先经该函数处理即可。
分享到:
相关推荐
### 一、理解MySQL模糊搜索 在MySQL中,模糊搜索通常通过`LIKE`操作符来实现。例如,以下SQL语句用于查找标题中包含特定关键词的所有记录: ```sql SELECT * FROM table WHERE biaoti LIKE '%关键词%'; ``` 这种...
【MySQL 模糊搜索方法详解】 在MySQL数据库中,模糊搜索是常见的查询需求,它允许用户使用部分关键字或通配符来查找与之匹配的数据。本文将深入探讨两种主要的模糊搜索方法:LIKE语句和全文索引。 1. LIKE语句 ...
MySQL作为广泛使用的开源关系型数据库,提供了多种方式进行全文搜索和模糊匹配。本篇将聚焦于MySQL的全文模糊查找及其便捷解决方案,并结合PHP的Unicode工具类进行讨论。 MySQL的全文索引和搜索功能允许我们快速...
在 MySQL 数据库中,模糊查询是一种强大的检索技术,它允许用户使用通配符来搜索不完全匹配的记录。这在处理大量数据时非常有用,特别是当你不确定确切的查询条件时。以下是一些关于 MySQL 模糊查询的关键知识点: ...
在这个“mysql语句集合包括模糊查询索引函数”中,我们将深入探讨SQL中的关键概念,特别是与模糊查询、索引和函数相关的知识。 首先,SQL语句主要分为四大类:SELECT(查询)、INSERT(插入)、UPDATE(更新)和...
在编程实现上,有许多库和工具支持模糊查询,例如Python的`fuzzywuzzy`库可以计算字符串的相似度,MySQL和PostgreSQL数据库系统内置了模糊查询功能。开发者还可以利用 Elasticsearch 这样的全文搜索引擎,它内置了...
在开发Web应用时,我们经常需要处理用户对数据库的搜索请求,这通常涉及到全局模糊搜索和分页功能。本文将详细介绍如何使用Python结合MySQL数据库实现这一功能,特别地,我们将探讨如何在不依赖ORM(如Django的Model...
### MySQL中文搜索解决方案 在使用MySQL数据库执行中文模糊查询时,常常会遇到返回结果与预期不符的情况。例如,当我们尝试通过`"%a%"`这样的模式进行搜索时,得到的结果中虽然包含了一些中文字符,但实际并没有...
标题中的“像百度一样的模糊搜索”指的是实现一个具备类似百度搜索引擎功能的代码或系统,它能够处理用户输入的不精确关键词,提供相关的搜索结果。在实际应用中,模糊搜索是通过算法来处理用户可能的拼写错误、同义...
本文将详细介绍四种常见的MySQL模糊查询用法,帮助你在处理数据库查询时更加灵活高效。 1. **百分号(%)**:百分号在模糊查询中代表任意数量的字符,包括零个字符。例如,`SELECT * FROM user WHERE u_name LIKE '...
在这个场景中,"自写php+MySQL模糊查询" 是一个新手尝试实现的功能,它允许用户输入关键词,然后在数据库中进行不精确匹配,返回与关键词相关的记录。这样的功能可以极大地提高用户在网站上的搜索体验。以下是对这个...
MySQL全文模糊搜索MATCH AGAINST方法是数据库管理员在处理大量文本数据时进行高效查询的重要工具,尤其是在需要进行复杂搜索条件匹配时。此方法适用于MySQL 4.x及以上版本,并且要求建立全文索引的表的存储引擎为...
在MySQL数据库中,进行中文模糊检索时,常常会遇到返回的结果并不符合预期,尤其是在处理包含中文和英文混合的关键字时。这是因为MySQL默认的模糊匹配(LIKE操作)在处理多字节字符集(如UTF-8,用于存储中文字符)...
在"模糊搜索+多选下拉框"这个实现中,我们可以推测开发者可能使用了JavaScript库,如jQuery,来增强原生的HTML `<select>`。文件名"jquery.automultiselect"暗示了这个实现可能基于jQuery,利用其强大的DOM操作和...
【MySQL模糊查询】 在数据库操作中,模糊查询是一种常见的搜索技术,它允许用户使用通配符来匹配不完全知道的字符串。在MySQL中,我们主要使用`LIKE`、`NOT LIKE`、`INSTR`、`REGEXP`和`RLIKE`等关键字来进行模糊...
模糊查询是数据库查询中的一个常用功能,特别是在处理用户输入信息进行搜索时。它可以帮助我们检索那些与用户查询条件不完全匹配的信息。在SQL中,模糊匹配可以通过使用“LIKE”关键字以及通配符“%”来实现。通配符...
在IT行业中,搜索引擎的提示搜索功能是用户交互体验的重要组成部分,尤其像Google这样的顶级搜索引擎,其模糊提示搜索功能更是深入人心。这个"实现google模糊提示搜索内容"的项目旨在帮助开发者理解并构建类似的功能...
MySQL数据库提供了多种内置函数,用于实现高效的模糊搜索。在本文中,我们将重点讨论四个常用的函数:locate()、instr()、position() 和 find_in_set(),并解析它们的使用方法。 1. **locate()** 函数: locate() ...