UTILfn_Split fonksiyonu

Merhabalar bu fonksiyonu daha çok tek seferde değer gönderdiğim string değerleri ayrıştırıp sql içinde kullanmak için kullanırım. Sql parametrede değer geçerken aralarınıstandartta (,) ile ayırmanız gerekli.

Kodu aşağıda veriyorum;

CREATE function [dbo].[UTILfn_Split](
@String nvarchar (4000),
@Delimiter nvarchar (10)
)
returns @ValueTable table (ID int IDENTITY(1,1) NOT NULL,[Value] nvarchar(4000))
begin
declare @NextString nvarchar(4000)
declare @Pos int
declare @NextPos int
declare @CommaCheck nvarchar(1)
 
--Initialize
set @NextString = ''
set @CommaCheck = right(@String,1)
 
--Check for trailing Comma, if not exists, INSERT
--if (@CommaCheck <> @Delimiter )
set @String = @String + @Delimiter
 
--Get position of first Comma
set @Pos = charindex(@Delimiter,@String)
set @NextPos = 1
 
--Loop while there is still a comma in the String of levels
while (@pos <> 0)
begin
set @NextString = substring(@String,1,@Pos - 1)
 
insert into @ValueTable ( [Value]) Values (@NextString)
 
set @String = substring(@String,@pos +1,len(@String))
 
set @NextPos = @Pos
set @pos = charindex(@Delimiter,@String)
end
 
return
end
Etiket(ler): , .Yer işareti koy Kalıcı Bağlantı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir