Cumartesi , 20 Ekim 2018

SQL Server 2012 Format Fonksiyonu

SQL Server üzerinde çalışan hemen hemen herkes verilerin formatlarını değiştirme ihtiyacı duyar. Örneğin Türkiye’de tarih verileriyle çalışırken SQL Server’ın bize verdiği formattan farklı olarak yıl,ay,gün formatında değil de ay,gün,yıl gibi bir formata verileri dönüştürme ihtiyacı duyarız. Bu gibi durumlarda Convert fonksiyonunu bizim işimizi görecektir. Bildiğiniz gibi Convert fonksiyonunu format parametresini kullanırken bir tane nümerik format numarası belirtmemiz gerekir. Örneğin aşağıdaki gibi bir dönüşüm ile tarih verisini varsayılandan farklı olarak gün,ay,yıl şekline dönüştürebiliriz.

661e1834-5512-4f0a-9679-479957970e32[1]

Yukarıdaki örnekte gördüğümüz gibi tarih verisini istediğimiz formata dönüştürmek için Convert fonksiyonunu format numarası parametresi ile beraber kullandık. Fakat bu format numaralarını ezberlemek hem oldukça uzun hem de çok kolay unutulabiliyor. Bu nedenle SQL Server 2012 ile beraber bütünleşik bir formatlama fonksiyonu tanıtıldı. Format adlı bu fonksiyonun hem convert fonksiyonundan daha kolay kullanılıyor hem de sadece tarih değil diğer veri tipleri ile ilgili de formatlama işlemi yapabiliyor.

Format fonksiyonun kullanımının Convert fonksiyonuna göre daha basit ve akılda kalıcı olma sebebi ise dönüş yapmak istediğimiz format numerik bir sayı ile değil, ilgili formatı temsil eden karakter ifadeyle belirtiliyor. Format fonksiyonun kullanımı aşağıdaki gibidir.

FORMAT ( value,format)

Format fonksiyonun kullanımı her ne kadar yukarıdaki gibi olsa bile format kısmında herhangi bir bölge seçeneği(culture) ekleyebiliriz. Şimdi format fonksiyonunun nasıl kullanılabileceği hakkında birkaç örnek yapalım.

sql server format

Yukarıda gördüğümüz gibi Format fonksiyonunu kullanırken formatlayacağımız tarih bilgisiyle beraber istediğimiz formatı da metinsel bir ifade olarak belirtiyoruz. Yukarıdaki sorgumuzun çıktısı aşağıdaki gibi olacaktır.

Format foksiyonu ile ilgili olarak sadece tarih verileri üzerinde değil diğer veri türlerinde de formatlama yapabiliyor demiştik. Şimdi numerik bir değer üzerinde format fonksiyonunu nasıl kullanabileceğimize bakalım.

 sql server format2

Yukarıdaki sorgumuzda ise format fonksiyonumuzu numerik bir değer ile kullandık. Numerik değerlerde format olarak c kullandığımızda değerin para birimi yani Curreny olduğunu, p kullandığımız yüzdelik ifade edileceğimi, x kullandığımızda ise parametre verdiğimiz değerin on altılık sistemdeki hexa decimal karşılığını bize verecektir. Diğer parametreler için Msdn’den yardım alabilirsiniz. Sorgumuzun sonucu aşağıdaki gibi olacaktır.

 

Hakkında ismailadar

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*


*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>