Format sql fonksiyonları dahilinde biçim ve format belirtilmek için kullanılır. Karakter bazlı işlemler için sql server içerisinde veri tipleri arasında değişim için kullanılır. Tarih, saat, zaman veri türleri arasında çevirmek için, format fonksiyonu kullanılmalıdır. Tarih saat dışında kalan string varchar integer ve diğer veri tipleri arasında dönüşümler için cast ve convert kullanılmalıdır. FORMAT .NET Framework CLR tarafından üretilmiştir.
Format Kullanımı
FORMAT ( deger, format [, dil] )
Format fonksiyonu içerisindeki değişkenler
Değer
Format fonksiyonu içerisinde ilk verilen parametre değer olarak, dönüştürmek istediğimiz veri tipini belirtmeliyiz. Bu veri tipi biçimlendirmek istediğimiz hedef veriyi kapsar.
Format
Hedef olarak çevirmek istediğimiz biçimi belirtmek için kullanılır. Nvarchar format modeli gibi olmalıdır. NET Framework biçim modelini desteklemelidir.
Dil
Mecburi olmayan bir parametre. Boş bırakılarak geçebiliriz. En çok kullanılan yerleri tarih ve saat dönüşümlerinde kullanılmasıdır. Örnek vermek gerekirse, Amerika saat dilimini Türkiye saat dilimi biçim ve formatına çevirmek için kullanılmasıdır.
Geri Dönen Veri Tipleri
Geri dönen veri tipleri 2 veri türünde sınırlıdır. Nvarchar ya da Null değer döndürür. FORMAT, geçerli olmayan bir kültür dışındaki hatalar için NULL değerini döndürür. Örneğin, biçiminde belirtilen değer geçerli değilse NULL döndürür. Aşağıdaki tabloda dönüştürmek için kullanabileceğimiz veri tiplerinin, dönüşüm için kullanabileceğimiz listesidir.
Category | Type | .NET type |
---|---|---|
Numeric | bigint | Int64 |
Numeric | int | Int32 |
Numeric | smallint | Int16 |
Numeric | tinyint | Byte |
Numeric | decimal | SqlDecimal |
Numeric | numeric | SqlDecimal |
Numeric | float | Double |
Numeric | real | Single |
Numeric | smallmoney | Decimal |
Numeric | money | Decimal |
Date and Time | date | DateTime |
Date and Time | time | TimeSpan |
Date and Time | datetime | DateTime |
Date and Time | smalldatetime | DateTime |
Date and Time | datetime2 | DateTime |
Date and Time | datetimeoffset | DateTimeOffset |
Format Fonksiyonu Örnekleri
SELECT FORMAT ( @d, ‘d’, ‘en-US’ ) AS ‘Amerikan İngilizcesi Sonucu’
,FORMAT ( @d, ‘d’, ‘en-gb’ ) AS ‘İngiltere İngilizcesi Sonucu’
,FORMAT ( @d, ‘d’, ‘de-de’ ) AS ‘Almanca Sonucu’
,FORMAT ( @d, ‘d’, ‘zh-cn’ ) AS ‘Çince Sonucu’;
SELECT FORMAT ( @d, ‘D’, ‘en-US’ ) AS ‘Amerikan İngilizcesi Sonucu’
,FORMAT ( @d, ‘D’, ‘en-gb’ ) AS ‘İngiltere İngilizcesi Sonucu’
,FORMAT ( @d, ‘D’, ‘de-de’ ) AS ‘Almanca Sonucu’
,FORMAT ( @d, ‘D’, ‘zh-cn’ ) AS ‘Çince Sonucu’;
Sonuç
Amerikan İngilizcesi Sonucu İngiltere İngilizcesi Sonucu Almanca Sonucu Çince Sonucu
—————- —————————– ————- ————————————-
10/1/2011 01/10/2011 01.10.2011 2011/10/1
(1 row(s) affected)
Amerikan İngilizcesi Sonucu İngiltere İngilizcesi Sonucu Almanca Sonucu Çince Sonucu
—————————- —————————– —————————– —————————————
Saturday, October 01, 2011 01 October 2011 Samstag, 1. Oktober 2011 2011年10月1日
(1 row(s) affected)
Tarih Dönüştürmek için Format
DECLARE @d DATETIME = GETDATE();
SELECT FORMAT( @d, ‘dd/MM/yyyy’, ‘tr-US’ ) AS ‘Tarih Dönüşüm Türkçe’ ,
FORMAT( @d, ‘dd/MM/yyyy’, ‘tr-US’ ) AS ‘Tarih Dönüşüm İngilizce’
,FORMAT(123456789,’###-##-####’) AS ‘Özel Sayı Dönüştürmek’;
Sonuç
Tarih Dönüşüm Türkçe Tarih Dönüşüm Türkçe Özel Sayı Dönüştürmek
—————————- —————————– —————————–
16.04.2018 16.04.2018 123-45-6789
Format fonksiyonu
Hiç yorum yok:
Yorum Gönder