1. 程式人生 > >SQL Server裡的Split函式

SQL Server裡的Split函式

ALTERFUNCTION dbo.f_splitSTR(   
  
@svarchar(8000),       --要分拆的字串   
@splitvarchar(10),     --資料分隔符   
@posint--取第幾個   
  )RETURNSvarchar(100)   
  
AS   
  
BEGIN   
  
DECLARE@splitlenint,@revarchar(100)   
  
SET@splitlen=LEN(@split+'a')-2   
  
WHILECHARINDEX(@split,@s)>0AND@pos>0   
  
SELECT   
  
@re=LEFT(@s,CHARINDEX
(@split,@s)-1),   
  
@s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,''),   
  
@pos=@pos-1   
  
RETURN(CASE     
  
WHEN@pos=0THEN@re     
  
WHEN@pos=1THEN@s   
  
ELSENULLEND)   
  
END