SQL判断相等问题,急....
在SQLServer里有俩个字符串@a= ',2,4,7 '      @b= ',7,2,4 '怎么判断他俩相等啊.我的意思是,只要@a和@b里面的数字相同就认为他俩相等,和顺序没关系.   
 谢谢了.直接if(@a=@b)是肯定不行的啊,该如何判断才能让他俩相等啊...
------解决方案--------------------拆了按顺序比较一次就行了
------解决方案--------------------if object_id( 'fnTest_ASC ') is not null 
     drop function fnTest_ASC 
 GO 
 ----创建字符ASCII码值计算函数 
 create function fnTest_ASC(@str varchar(100)) 
 returns int 
 as 
 begin 
     declare @asc int 
     set @asc = 0 
     while @str  <>   ' ' 
     begin 
         set @asc = @asc + ascii(substring(@str,1,1)) 
         set @str = stuff(@str,1,1, ' ') 
     end 
     return @asc 
 end 
 GO   
 ----比较字符串 
 declare @a varchar(10),@b varchar(10) 
 set @a= ',2,4,7 '   
 set @b= ',7,2,4 ' 
 select case when dbo.fnTest_ASC(@a) = dbo.fnTest_ASC(@b) then  '相等 ' else  '不相等 ' end   
 ----清除测试环境 
 drop function fnTest_ASC   
 /*结果 
 相等 
 */
------解决方案--------------------楼上函数不错.
------解决方案--------------------四钻,真牛!
------解决方案--------------------真的
------解决方案--------------------楼上的函数是不对的。   
 ASC的合计值的比较对于 
 set @a= ',2,4,7 ' 
 set @b= ',7,2,4 ' 是成立的   
 对于 
 set @a= ',3,4,6 ' 
 set @b= ',7,2,4 ' 也成立啊   
 所以不能直接通过ASCII转码来比较 
------解决方案--------------------用split函数拆分两个串,比较两个结果集的异同。     
 /* 
 	功能:实现split功能的函数 
 */   
 create function fn_split  
 	( 
 		@inputstr varchar(8000),  
 		@seprator varchar(10) 
 	) 
 returns @temp table (a varchar(200)) 
 as    
 begin 
 	declare @i int   
 	set @inputstr = rtrim(ltrim(@inputstr)) 
 	set @i = charindex(@seprator, @inputstr)   
 	while @i > = 1 
 	begin 
 		insert @temp values(left(@inputstr, @i - 1))   
 		set @inputstr = substring(@inputstr, @i + 1, len(@inputstr) - @i) 
 		set @i = charindex(@seprator, @inputstr) 
 	end   
 	if @inputstr  <>   '\ ' 
 		insert @temp values(@inputstr)   
 	return  
 end     
------解决方案--------------------用split函数拆分两个串,比较两个结果集的异同。     
 /* 
 功能:实现split功能的函数 
 */   
 create function fn_split 
 ( 
 @inputstr varchar(8000), 
 @seprator varchar(10) 
 ) 
 returns @temp table (a varchar(200)) 
 as   
 begin 
 declare @i int   
 set @inputstr = rtrim(ltrim(@inputstr)) 
 set @i = charindex(@seprator, @inputstr)   
 while @i > = 1 
 begin 
 insert @temp values(left(@inputstr, @i - 1))   
 set @inputstr = substring(@inputstr, @i + 1, len(@inputstr) - @i) 
 set @i = charindex(@seprator, @inputstr) 
 end   
 if @inputstr  <>   '\ ' 
 insert @temp values(@inputstr)   
 return 
 end     
 这个比较具有操作性,顶一下。
------解决方案--------------------学习
------解决方案--------------------declare @a varchar(10),@b varchar(10) 
 set @a= ',2,4,7 ' 
 set @b= ',7,2,4 '