首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

模糊查询,分词。高手解答

2012-09-03 
模糊查询,分词。在线等高手解答topic表如下:idtitle1abc英语字母2中国崛起3装b的境界模糊查询我想要的是根

模糊查询,分词。在线等高手解答
topic表如下:
id title 
1 abc英语字母
2 中国崛起
3 装b的境界


模糊查询我想要的是根据title 模糊查询,连续的英文字母作为一个整体。 如模糊查询的内容为“abc英语”,其查询的结果与
“select * from topic where title lLIKE '%abc%' AND'%英%' AND'%语%'”。即查询结果为:
id title 
1 abc英语字母

[解决办法]
太智能化了,估计要用到类似百度的搜索功能.帮顶.
[解决办法]
找google吧
[解决办法]

SQL code
select * from topicwhere charindex('abc',title)>0and charindex('英',title)>0and charindex('语',title)>0
[解决办法]
关键是把查询内容拆分成几个字符串,然后拼SQL:
SQL code
declare @s varchar(50), @sql varchar(8000)set @sql = 'select * from topic where title like ''%'set @s = 'abc英语'declare @i intset @i = 1while @i <= len(@s)begin    if @i = 1        set @sql = @sql + substring(@s,@i,1)    else    begin        if len(substring(@s,@i,1)) <> datalength(substring(@s,@i-1,1)) or datalength(substring(@s,@i,1)) = 2            set @sql = @sql + '%'' and title like ''%' + substring(@s,@i,1)        else            set @sql = @sql + substring(@s,@i,1)    end    set @i = @i + 1endset @sql = @sql + '%'''exec(@sql) 

热点排行