SQL SERVER 2016 – STRING_SPLIT Fonksiyonu

SQL SERVER 2016 ile birlikte gelen yeni özelliklerden birisi de STRING_SPLIT fonksiyonudur. Genelde veritabanı üzerinde çalışmalar yapanların kullandığı custom string split fonksiyonu vardır. SQL SERVER 2016 ile birlikte kullanımımıza sunulan STRING_SPLIT fonksiyonu ile custom split fonksiyonu oluşturmamıza gerek kalmıyor. Biraz geçte olsa sık kullanılan bir fonksiyonun varsayılan olarak SQL SERVER ile birlikte kullanıma sunulmasına sevindim. SQL SERVER 2016 ile birlikte gelen bu yeni fonksiyonun kullanımını inceleyelim.

SYNTAX: STRING_SPLIT(string,seperator)

String parametresinde kullanılabilecek veri türleri : CHAR,VARCHAR,NVARCHAR,NCHAR

Seperator parametresinde kullanılabilecek veri türleri: CHAR(1),VARCHAR(1),NVARCHAR(1),NCHAR(1)

Not: Seperator parametresinde ayraç olarak gelebilecek değer bir karakter olmak zorundadır.

Fonksiyon sonucunda bize tek kolonlu bir tablo döndürmektedir. Şimdi örnek ile fonksiyonu inceleyelim.

Öncelikle “,” (virgül) ile birbirinden ayrılacak alanları nasıl ayıracağımıza bakalım;

[sql]

SELECT * FROM STRING_SPLIT(‘Mesut,Güneş,DBA’,’,’)

[/sql]

string_split

Aynı örneği bu sefer değişken kullanarak yapalım;

[sql]

DECLARE @str VARCHAR(20)=’Mesut,Güneş,DBA’
,@separator CHAR(1)=’,’
SELECT * FROM STRING_SPLIT(@str,@separator)

[/sql]

sql_server_2016

SQL Server 2016 ile birlikte gelen String_Split fonksiyonu sayesinde, split işlemlerinizi özel bir fonksiyon oluşturmanıza gerek kalmadan rahatça kullanabilirsiniz.

 

Not: Bu örnek SQL Server 2016 RC3 versiyonu ile birlikte hazırlanmıştır.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.