sql 分割字符串

ALTER function dbo.UDF_SplitSubString 

 
@Expression varchar(8000
,
@Delimiter varchar(100
,@ 
int 

returns varchar(8000
as 
begin 
--declare @Expression varchar(8000) 
--
set @Expression = 'abc@@pppp@aa' 
--
declare @Delimiter varchar(100) 
--
set @Delimiter = '@@@'
--
declare @ int 
--
set @ = 3

declare @p int 
set @p = CharIndex(@Delimiter,@Expression
if @p > 0
begin
   
set @p = @p + len(@Delimiter- 1
end
declare @i int 
set @i = 1 
while @i < @ 
begin  
   
set @i = @i + 1
   
set @Expression = substring (@Expression@p + 1,len(@Expression- @p ) 
   
set @p = CharIndex(@Delimiter,@Expression)
   
if @p > 0
   
begin
      
set @p = @p + len(@Delimiter- 1
   
end
   
else
   
begin
      
break
   
end
end 

declare @s varchar(1000
if @p = 0 and @i = @
begin 
   
set @s = @Expression
end 
else if @i = @ 
begin 
   
set @s = substring(@Expression1,@p - len(@Delimiter)) 
end 
return @s
end 

GO

declare @ varchar(1000
set @ = '@@playyuer@www&&.Microshaoft&&[email protected]@@pppp@.' 
declare @d varchar(1000
set @d = '@@'
select 
 dbo.UDF_SplitSubString (@ , 
@d0
,dbo.UDF_SplitSubString (@ , 
@d1
,dbo.UDF_SplitSubString (@ , 
@d2
,dbo.UDF_SplitSubString (@ , 
@d3
,dbo.UDF_SplitSubString (@ , 
@d4
,dbo.UDF_SplitSubString (@ , 
@d5
,dbo.UDF_SplitSubString (@ , 
@d6
,dbo.UDF_SplitSubString (@ , 
@d7
,dbo.UDF_SplitSubString (@ , 
@d8
,dbo.UDF_SplitSubString (@ , 
@d100

你可能感兴趣的:(sql)