---分拆字符串 create function [dbo].[f_splitstr_word](@SourceSql varchar(8000)) returns @temp table(No_Id int identity(1,1),F1 varchar(100)) as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=LEN(@SourceSql) while @i>=1 begin insert @temp values(substring(@SourceSql,1,1)) set @SourceSql=substring(@SourceSql,2,LEN(@SourceSql)-1) set @i=LEN(@SourceSql) end if @SourceSql<>'' insert @temp values(@SourceSql) return end
--比较两个字符串相同字符的个数 create function [dbo].[funcomparestring] ( @stra nvarchar(200), @strb nvarchar(200) ) returns int as begin declare @strbase nvarchar(200) declare @rank int select @rank=0 if len(@stra)>len(@strb) select @rank=count(*) from dbo.f_splitstr_word(@strb) where F1 in(select F1 from dbo.f_splitstr_word(@stra)) else select @rank=count(*) from dbo.f_splitstr_word(@stra) where F1 in(select F1 from dbo.f_splitstr_word(@strb)) return @rank end