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]
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 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.