`
wsql
  • 浏览: 11789153 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

SQL语句实现按关健字模糊查询,并按匹配度排序

阅读更多

IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
GO
CREATE TABLE tb (ID INT IDENTITY(1,1),VALUE NVARCHAR(100))
INSERT tb SELECT N'中国'
UNION ALL SELECT N'中国人'
UNION ALL SELECT N'中国人民'
UNION ALL SELECT N'日本'
UNION ALL SELECT N'日本人'
UNION ALL SELECT N'我的心中有人姑娘'
UNION ALL SELECT N'人民网'
UNION ALL SELECT N'中国是个伟大的国家'
UNION ALL SELECT N'我们都是中国人,都是炎黄子孙,都是龙人传人'
IF OBJECT_ID('fn_SplitStringToROWS')IS NOT NULL DROP FUNCTION fn_SplitStringToROWS
GO
CREATE FUNCTION fn_SplitStringToROWS
(
@str NVARCHAR(100)
)
RETURNS @t TABLE(v NVARCHAR(2))
AS
BEGIN
DECLARE @i INT
SET @i=1
WHILE @i<=LEN(@str)
BEGIN
INSERT @t SELECT SUBSTRING(@str,@i,1)
SET @i=@i+1
END
RETURN
END
GO
SELECT * FROM DBO.fn_SplitStringToROWS(N'中国人')
DECLARE @searchSTR NVARCHAR(20)
SET @searchSTR=N'中国人'
SELECT ID,[VALUE] FROM tb a
INNER JOIN fn_SplitStringToROWS(@searchSTR) b
ON CHARINDEX(b.v,a.VALUE)>0
WHERE VALUE LIKE N'%[中国人]%'
GROUP BY ID,VALUE
ORDER BY COUNT(DISTINCT v) DESC
DROP TABLE tb
/*
v
----


(3 個資料列受到影響)

ID VALUE
----------- ----------------------------------------------------------------------------------------------------
2 中国人
3 中国人民
9 我们都是中国人,都是炎黄子孙,都是龙人传人
6 我的心中有人姑娘
1 中国
8 中国是个伟大的国家
5 日本人
7 人民网

(8 個資料列受到影響)
*/

分享到:
评论

相关推荐

    实现按关健字模糊查询,并按匹配度排序的SQL语句

    SQL语句实现按关健字模糊查询,并按匹配度排序

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 实例157 动态调用类中的方法 204 实例158 动态实例化类 205 实例159 创建长度可变的数组 206 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例093 统计帖子标题的长度 127 实例094 计算论坛帖子的字节数 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例093 统计帖子标题的长度 127 实例094 计算论坛帖子的字节数 ...

    C#全能速查宝典

    1.4.11 First函数——返回查询结果的第一个记录 55 1.4.12 FirstDayOfWeek属性——获取或设置一周中的第一天 56 1.4.13 Format方法——格式化字符串 56 1.4.14 GETDATE函数——返回当前系统日期和时间 58 1.4.15 ...

    易搜索 站内全文检索搜索引擎 v1.0.rar

    一般的搜索都是通过SQL语句中的LIKE关键字实现搜索功能,但LIKE在数量较大时,速度很慢,甚至会导致服务器磐机。 3、 搜索不到正文。与第二条类似,LIKE关键字只能对短文本进行比较操作,而对正文这种长文本,不能...

    风讯dotNETCMS v1.0 sp5源码

    14 关于幻灯标签自适应包含子类,存在SQL语句条件错误,导致查询没有数据 15 添加新闻时,无法添加音频和附件的功能。 16 二级栏目不能调用三级子栏目新闻? 管理帮忙 急!! 17 归档标签问题 18 管理员权限,无法...

    风讯dotNETCMS 源码包 1.0 SP5 20110408.rar

    14 关于幻灯标签自适应包含子类,存在SQL语句条件错误,导致查询没有数据 15 添加新闻时,无法添加音频和附件的功能。 16 二级栏目不能调用三级子栏目新闻? 管理帮忙 急!! 17 归档标签问题 18 管理员权限,...

    风讯dotNETCMS 安装包 1.0 SP5 20110408.rar

    14 关于幻灯标签自适应包含子类,存在SQL语句条件错误,导致查询没有数据 15 添加新闻时,无法添加音频和附件的功能。 16 二级栏目不能调用三级子栏目新闻? 管理帮忙 急!! 17 归档标签问题 18 管理员权限,...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    安信通数据库审计系统.doc

    检索条件: 1、日期、时间范围 2、数据库访问客户端和服务端IP地址、IP地址段、MAC地址 3、数据库类型、数据库操作类型 4、数据库SQL语句中的关键字词 5、报警级别、数据库访问客户端分组 6、操作结果 7、数据库访问...

    ActionScript开发技术大全

    29.3.4设置SQL语句参数 636 29.3.5查询数据 636 29.3.6用户注册与登录示例 637 29.4小结 642 第10篇实战篇 第30章AdobeAIR应用——本地播放器 644 30.1分析与设计 644 30.1.1功能分析 644 30.1.2界面设计 645 30.1.3...

Global site tag (gtag.js) - Google Analytics