CREATE  function  uf_splitstring  
(  
@str  varchar(8000)            --要分拆的字符串  
,@spli  varchar(10)            --字符串分隔符  
)  
returns  @retab  table(istr  varchar(8000))  
as  
begin  
           declare  @i          int  
           declare  @splen  int  
           select  @splen=len(@spli),@i=charindex(@spli,@str)  
           while  @i    >  0  
           begin  
                       insert  into  @retab    
                       values(left(@str,@i-1))  
                       select  @str=substring(@str,@i+@splen,8000)  
                       select  @i=charindex(@spli,@str)  
           end  
           if  @str  <  >''  insert  into  @retab  values(@str)  
           return  
end  
GO  
if  exists(select  1  from  uf_splitstring('001,002,003',',')t,uf_splitstring('002,004',',')t1  where  t.istr=t1.istr)  
print  '1'  
else    
print  '0'  
--结果  
/*  
1  
*/


--SQL2005中有判断两表交集的函数,2000中没有,可以参考1楼写的  
SELECT  *  FROM  A  INTERSECT  SELECT  *  FROM  B
posted on 2007-05-11 11:54  许维光  阅读(860)  评论(0)    收藏  举报