读书人

求字符串比较好的方法,该如何处理

发布时间: 2012-03-13 11:21:12 作者: rapoo

求字符串比较好的方法
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

读书人网 >SQL Server

热点推荐