SQL Server’da Virgülle Ayrılmış Listeyi Tabloya Çeviren Fonksiyon

Herkese merhaba,

Bu kısımda virgülle ayrılmış listeyi tabloya çeviren fonksiyon kodları olacak.

CREATE FUNCTION dbo.ListeyiTabloyaCevir
(
@List VARCHAR(MAX),
@Delim CHAR
)
RETURNS
@ParsedList TABLE
(
item VARCHAR(MAX)
)
AS
BEGIN
DECLARE @item VARCHAR(MAX), @Pos INT
SET @List = LTRIM(RTRIM(@List))+ @Delim
SET @Pos = CHARINDEX(@Delim, @List, 1)
WHILE @Pos > 0
BEGIN
SET @item = LTRIM(RTRIM(LEFT(@List, @Pos - 1)))
IF @item <> ''
BEGIN
INSERT INTO @ParsedList (item)
VALUES (CAST(@item AS VARCHAR(MAX)))
END
SET @List = RIGHT(@List, LEN(@List) - @Pos)
SET @Pos = CHARINDEX(@Delim, @List, 1)
END
RETURN
END
GO

--Çalıştırılması

SELECT item AS Ornek1
FROM dbo.ListeyiTabloyaCevir('first||2nd||III||1+1+1+1','||')


SELECT CAST(item AS INT) AS Ornek2
FROM dbo.ListeyiTabloyaCevir('111,222,333,444,555',',')
389 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!