数据库模糊匹配查询网站源码_数据库 模糊搜索

hacker|
132

文章目录:

数据库模糊匹配

1\首先使用函数将变量'上海市'去掉'市',变成'上海',如果是'深圳市',也会自动变成'深圳'.当然如果还可以去掉'省'

2\再使用Like查询即可达到你的目的.

select * from table where 字段名 like '%'+REPLACE(N'上海市',N'市',N'')+'%'

数据库的模糊查询

明确的告诉你。。。就这么直接检索不行。。。

大家不知道看明白没有:这是用确定数据检索不确定数据。。。不是你们说的用通配符能解决的事情。

数据检索的本质是用模式(就是不确定数据),检索符合模式的确定值。

确定性就是唯一性,而模式是不确定的。。。

我们输入IG84317183的时候,这是个确定值,是唯一的。而这个唯一值可能属于的模式是无穷的或者是数量非常巨大的

从数学上来说,怎么可能用确定值用检索不确定值?

就像你说的:可能是IG8?????,而这几个问号可能的组合就有10万。也可能是I?G8431???,或者其他。

所以很简单,唯一可行的方法是倒过来,用你数据库内的内容来匹配这个确定值。因为虽然模式是不确定的,但是你数据库内储存的是有限的确定的。

首先将你数据库内的占位符“?”,替换成通配符,如果“?”只可以代表一位数则替换为“_”或者“?”本身,如果一个“?”可以代表几个字符则替换为“%”或者是“*”。因为不知道你的库规不规范,如果是规范的不知道的位数都标识为IG8???????这种,长度也都一样的话,可能就不用替换,因为?本身就是通配符(表示一位的)。因为不知道你用的是SQL SERVER,ORACLE还是其他的。

然后我们就可以用'IG84317183' 去 LIKE 你数据库里的带通配符的模式。

很简单的语句就是:

如果有表“纸币表”,字段名是“纸币号”,则:

替换为“%”的

select * from 纸币表 where 'IG84317183' LIKE REPLACE(纸币号,'?','%');

也可以替换为“_”的:

select * from 纸币表 where 'IG84317183' LIKE REPLACE(纸币号,'?','_');

如果不替换就直接:

select * from 纸币表 where 'IG84317183' LIKE 纸币号;

注意LIKE的两边跟我们平时用的是反的(一般来说是 字段 like '某个值',现在是 '某个值' like 字段,也就是说将字段中的值作为通配符表达式 )。就这样,很简单,很简单就能实现。只要你把道理想通。

但是,请你注意:这样检索出来的东西不能保证对应。还是那个道理,模式实际上是不确定的,虽然你可以数据库中检索出来,你就能说:

IG84???183这条数据是IG84317183 ???。在现实中肯定不能,除非你在现实中有很强的业务规则对应。否则是很危险的。

求具有以下简单搜索功能的网页源代码

这里看看吧,目前可以免费提供使用。QQ:493812065

主页:

懒汉搜索引擎简介

"懒汉搜索",是一款专门为全国行业网站、门户网站、电子商务网站定做的专业搜索引擎。它通过对网站数据库的数据建立索引,查询时不访问数据库,能有效减轻数据库和系统的压力,目前可以支持1000 万级的数据,毫秒级的查询时间,每秒100 人的并发访问,从而实现大容量、高速的目标;可以适应linux和 window平台,支持多种数据库接口,具备较强的兼容性;它具备通用搜索引擎的构架和功能,可以对用户的输入进行分词,可以进行多关键字搜索、关键词组合搜索、句子搜索,大大提高了用户操作的友好度;同时能够根据客户的需求进行用户的数据挖掘,提高网站系统的价值。

1. 符合现代网民对搜索的惯性和依赖

据权威机构调查表明,96.5 %的网名使用过搜索引擎,68.3 %的网民经常使用搜索引擎。在信息爆发时代的今天,一级一级往下展开的栏目分类检索已经让网民失去了耐心,他们已经习惯使用搜索引擎来找他们感兴趣的东西,同时对搜索引擎的功能要求也越来越高。

这样用户进入一个网站之后,如果不能让用户方便的查找到他所需要的信息,他们也找不到熟悉的搜索输入框,他们会感到很陌生和意外,可能马上会离开,您的网站可能提供了很好的内容,但用户不习惯也没耐心去挖掘。

"懒汉搜索"根据客户的搜索,按照一个主题把所有相关文档提供给访问者,可以让访问者更全面的了解他所想要的东西,这增加了网站信息间的组织性和逻辑性,方便了访问者的使用,提升用户体验度。

2. 多关键字组合、句子查询,达到毫秒级的速度

为了迎合大多数网民对搜索功能的惯性和依赖性,很多网站只好提供通过SQL语句查询数据库来实现一些简单的模糊匹配,但是这种"搜索"功能通常只能匹配一个关键字,匹配的数据库字段也非常有限。 "懒汉搜索"不仅仅具备通用搜索引擎的构架和功能,同时可以对用户的输入进行分词,用户可以随便地输入一个或多个关键词,甚至输入一句话,大大提高了用户操作的友好度。同时"懒汉搜索"在数据容量、查询速度、功能性、适用性、兼容性等方面也具有很高的专业水平。

3. 查询不访问数据库,降到数据库负担,减轻系统压力

当用户直接查询数据库,不但查询速度慢,而且会导致数据库的压力增大,当数据库记录超过一定数量时,频繁地查询数据库,会导致数据库的负载直线上升,从而波及其它功能的使用,尤其是同时有很多用户访问的时候,对数据库和系统会产生较大的压力,严重时会导致信息塞车,甚至会导致系统崩溃。

"懒汉搜索" 是一套真正的搜索引擎,它通过对数据库的数据进行索引,在查询时不访问数据库,可以实现毫秒级的检索速度和每秒上百次的并发访问,用户搜索对数据库的压力为零。

4.完善的统计功能,掌握用户需求,抓住市场动向

"懒汉搜索"还具备完善的统计功能,其日志功能能记录检索词和结果,可以统计一段时间内关键字的访问频度,列出前100 个热门关键字。让客户能较好能够把握其用户的需求, 抓住市场动向,在当今信息万变的时代把握用户心理变化,创造最大的财富。

5. 按关键字投放广告,实现网站盈利

广告是目前互联网盈利的最重要也是最直接的途径,网络广告也有着很好的发展前景。据 Jupiter调研公司发布的一项研究报告指出,美国网络广告开支 2011年将达到 259亿美元,占到广告开支总额的9% ,而付费搜索将是主要动力,互联网搜索广告2005年已经超过了显示广告 , 搜索广告的大幅增长是由于新客户和广告商争夺广告位,这提高了价格。而且,随着搜索广告商的成熟,他们开始采用更多关键词,但盲目的投放广告,也可能会导致用户的反感,怎么办?只投放用户感兴趣的广告! "懒汉搜索"可以根据用户输入的关键字,自动匹配广告,让你的广告有的放矢,做到真正的分众!

6. 迅速提高自己的技术门槛

有没有专业网站检索其实已经不只是用户体验度的问题了,还是一个网站专业身份的象征,也是网站所属公司形象的体现。浏览国外公司的网站,会发现几乎所有网站都在首页最明显的区域放置了一个搜索框,这传达的信息是:专业的网站都有专业网站检索。网民的心态是:我不能很快找到我需要的信息,甚至找不到我所需要的信息,那这个网站在我的心里根本就没有体验度和口碑了,你要是没有就说明你不够专业。所以为了树立形象,也需要用到专业网站检索。

同时另外一点最大的好处就是,具有一套为您打造的专业网站搜索引擎,您的网站就不会被同类网站轻松模仿,这是因为一般的模仿者是不会有实力开发或购买一套专业的搜索引擎系统的。这样自己作为先驱者积累出来的用户、技术、资金上面的优势能够体现出来,让您在互联网上能够抓住更多客户的心。

7.原理概述

"懒汉搜索"引擎通过嵌入到企业网站中,具有较好的移植性,可通过远程的安装调试,使系统正常并良好的运行。不会影响企业原有的网站运行,原有网 站基本上也不需要改动。

"懒汉搜索"引擎不需要中转数据库,站内数据库的数据加载自动完成,同 时在后期具备实时性的主动更新方式,可以设置更新时间少于10 分钟。同时维护非常简单,安装完之后,所有操作(包括数据初始化、动态更新等)会自动完成,每天都会生成统计报表,不需要人工干预,整个过程简单,方便。

数据库SQL模糊匹配查询,求求求

传一个变量值,变量值为你想查询输入的值,然后SQL语句为

SQL = select 表别名.你的字段名 from 表 as 表别名 where 表别名.条件字段名 like '%变量%';

例:表名为:abc,存放地名的字段为:xyz

String Str = "惠州";

String StrSQL = "select a.xyz as add from abc as a where a.xyz like "'%"+Str+"%'";

2条大神的评论

  • avatar
    访客 2022-10-05 上午 07:06:50

    的并发访问,从而实现大容量、高速的目标;可以适应linux和 window平台,支持多种数据库接口,具备较强的兼容性;它具备通用搜索引擎的构架和功能,可以对用户的输入进行分词,可以进行多关键字搜索、关键词组合搜索、句子搜索,大大提高了用户操作的友好度;同时能够

  • avatar
    访客 2022-10-05 下午 12:41:45

    SQL = select 表别名.你的字段名 from 表 as 表别名 where 表别名.条件字段名 like '%变量%';例:表名为:abc,存放地名的字段为:xyzSt

发表评论