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',',')