SQL Server’da Split Fonksiyonu

Herkese merhaba,

Bu yazıda SQL Server’da Split fonksiyonu ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda elinizde bulunan virgüllü dizeleri Id’li şekilde ayırarak tablo şeklinde göstermek isteyebilirsiniz.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

CREATE FUNCTION fn_Split
(
    @delimited NVARCHAR(MAX),
    @delimiter NVARCHAR(100)
)
RETURNS @t TABLE
(
    Id INT IDENTITY(1, 1),
    Val NVARCHAR(MAX)
)
AS
BEGIN
    DECLARE @xml XML;
    SET @xml = N'<root><r>' + REPLACE(@delimited, @delimiter, '</r><r>') + '</r></root>';

    INSERT INTO @t
    (
        Val
    )
    SELECT r.value('.', 'varchar(max)') AS item
    FROM @xml.nodes('//root/r') AS records(r);

    RETURN;
END;
GO

--Kullanımı

SELECT * FROM dbo.fn_Split('2,3,6,5,8,9,99',',')

Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server'da Split Fonksiyonu

Görüldüğü üzere elimizde bulunan virgüllü dizeleri Id’li şekilde ayırmış olduk.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

302 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!