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',',')
524 Kez Okundu

Kategoriler: