日期:2014-05-18  浏览次数:20361 次

求字符串比较好的方法
select   str1   =   'aa,ab,cc '
select   str2   =   'ab,cc,aa '
select   str3   =   'ab1,cc,aa '
如何写个function,   只要分隔符的字符完全一样,则返回1,否则返回0.
就是说str2只是把str1的顺序打乱.
CompareString(str1,str2)   =   1
CompareString(str2,str3)   =   0
ALTER     function   CompareString(
@strA   varchar(1000),  
@strB   varchar(1000),  
@separator   varchar(10))  
returns   int  
as
begin
这儿怎么写?
end

------解决方案--------------------
declare @s1 varchar(100),@s2 varchar(100)
set @s1= 'aa,ab,cc '
set @s2= 'ab,cc,aa '

/*
Limpire:把@s1和@s2当输入参数,以下代码写在函数里就行了
*/

declare @return bit
set @return = 1

set @s1=@s1+ ', '
set @s2=@s2+ ', '

while charindex( ', ',@s1)> 0
begin
if charindex(left(@s1,charindex( ', ',@s1)),@s2)=0
begin
set @return=0
break
end
set @s1=right(@s1,len(@s1)-charindex( ', ',@s1))
end
--return(@return)
select @return