[create] table t
(标题 varchar(200),内容 varchar(200))insert t values ('8万元创业','创业的资金')
insert t values ('创业艰苦创业难','创业的艰辛谁人知道啊')gocreate function f_sort(@biao varchar(1000),@split varchar(100))
returns int
as
begin
declare @i int
select @i=0
while(charindex(@split,@biao)>0)
select @i=@i+1,
@biao=stuff(@biao,charindex(@split,@biao),len(@split),'')
return(@i)
end
go
select * from t where charindex('创业',标题)>0 order by dbo.f_sort(标题,'创业') descdrop function f_sort
drop table t标题 内容
-------------------------------------------------- --------------------------------------------------
创业艰苦创业难 创业的艰辛谁人知道啊
8万元创业 创业的资金(所影响的行数为 2 行)
(标题 varchar(200),内容 varchar(200))insert t values ('8万元创业','创业的资金')
insert t values ('创业艰苦创业难','创业的艰辛谁人知道啊')gocreate function f_sort(@biao varchar(1000),@split varchar(100))
returns int
as
begin
declare @i int
select @i=0
while(charindex(@split,@biao)>0)
select @i=@i+1,
@biao=stuff(@biao,charindex(@split,@biao),len(@split),'')
return(@i)
end
go
select * from t where charindex('创业',标题)>0 order by dbo.f_sort(标题,'创业') descdrop function f_sort
drop table t标题 内容
-------------------------------------------------- --------------------------------------------------
创业艰苦创业难 创业的艰辛谁人知道啊
8万元创业 创业的资金(所影响的行数为 2 行)
from 表
order by (len(标题)-replace(标题,'创业',''))/len('创业')
+(len(内容)-replace(内容,'创业',''))/len('创业') desc
(标题 varchar(50),内容 varchar(50))insert t values ('8万元创业','创业的资金')
insert t values ('创业艰苦创业难','创业的艰辛谁人知道啊')
insert t values ('发挥艰苦创业创业精神','创业的艰辛谁人知道啊')
insert t values ('发挥艰苦创业的创业精神','创业的艰辛谁人知道啊')
insert t values ('今天发现了个美人','发现美人的艰辛谁人知道啊')
gocreate function f_sort(@biao varchar(1000),@split varchar(100))
returns varchar(30)
as
begin
declare @i int,@j int,@k int
select @i=0,@j=0
,@k=case when charindex(@split,@biao)=1 then 1 else 0 end
while(charindex(@split,@biao)>0)
select @i=@i+1,
@biao=stuff(@biao,1,charindex(@split,@biao)+len(@split)-1,''),
@j=case when charindex(@split,@biao)=1 then @j+1 else @j end
return(right(10000+isnull(@i,0),4)+right(10000+@k,4)+right(10000+@j,4))
end
go
select * from t where charindex('创业',标题)>0 order by dbo.f_sort(标题,'创业') desc
drop function f_sort
标题 内容
-------------------------------------------------- --------------------------------------------------
创业艰苦创业难 创业的艰辛谁人知道啊
发挥艰苦创业创业精神 创业的艰辛谁人知道啊
发挥艰苦创业的创业精神 创业的艰辛谁人知道啊
8万元创业 创业的资金(所影响的行数为 4 行)drop table t
有点慢。
而且
配合 samfeng_2003(风云) 的算法,很多的时侯出不来了