Sql Server CSV (Comma Seperated Value) çıktı üretme

Özellikle katalog tablolarının CSV çıktılarına sıklıkla ihtiyaç duyarız. Aşağıdaki sql script’ini kullanarak, siz de tablolarınızdan CSV çıktı alabilirsiniz.

Öncelikle tablomuzun orjinal haline bakalım;

SELECT Name FROM HumanResources.Shift WITH (NOLOCK)</pre> sql-csv-output_1

Şimdi öyle bir sql sorgusu yazacağız ki, çıktımız şu şekilde olacak;

Day, Evening, Night

SELECT
    SUBSTRING((
        SELECT ', ' + Name
        FROM HumanResources.Shift WITH (NOLOCK)
        FOR XML PATH('')
    ), 3, 8000) AS CSV

Sorguyu FOR XML anahtar kelimeleri ile çalıştırdığımıza ve PATH olarak ‘’ (boş string) verdiğimize dikkat edin.

SELECT ', ' + Name
FROM HumanResources.Shift WITH (NOLOCK)
FOR XML PATH('')


Böylece aşağıdaki sonucu elde etmiş olduk;

![sql-csv-output_2](/assets/uploads/2009/11/sql-csv-output_2.png "sql-csv-output_2")

Son olarak, sql sorgusunu SUBSTRING fonksiyonu içerisine koyduk, böylece baştaki virgül ve boşluk karakterlerinden (", ") kurtulmuş olduk.

![sql-csv-output_3](/assets/uploads/2009/11/sql-csv-output_3.png "sql-csv-output_3")

blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı