| 发表于:2007-01-31 16:09:232楼 得分:20 |
create function dbo.f_comparestr( @s1 varchar(8000), --要比较的第一个字符串 @s2 varchar(8000), --要比较的第二个字符串 @split varchar(10) --数据分隔符 )returns bit as begin declare @splitlen int set @splitlen=len(@split+ 'a ')-2 while charindex(@split,@s1)> 0 begin if charindex(@split+left(@s1,charindex(@split,@s1)-1)+@split,@split+@s2+@split)> 0 return(1) set @s1=stuff(@s1,1,charindex(@split,@s1)+@splitlen, ' ') end return(case when charindex(@split+@s1+@split,@split+@s2+@split)> 0 then 1 else 0 end) end select value = case when dbo.f_comparestr( 'a ', ',a,b,c,d, ', ', ') = 1 then 'true ' else 'false ' end select value = case when dbo.f_comparestr( 'a,c ', ',a,b,c,d, ', ', ') = 1 then 'true ' else 'false ' end select value = case when dbo.f_comparestr( 'b,c,d ', ',a,b,c,d, ', ', ') = 1 then 'true ' else 'false ' end select value = case when dbo.f_comparestr( 'e,f ', ',a,b,c,d, ', ', ') = 1 then 'true ' else 'false ' end | | |
|