SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "gg.aa.yyyy" şeklindedir. Bu formatı elde etmek için SQL sorgunuzda FORMAT(date, 'dd.MM.yyyy') kullanabilirsiniz.
Örneğin, "Orders" adlı bir tabloda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:
SQLSELECT FORMAT(OrderDate, 'dd.MM.yyyy') AS KısaTarih FROM Orders
Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.
Evet, başka bir yöntem de tarihleri CONVERT fonksiyonu ile çevirmektir. Türkçe kısa tarih formatı için kullanılacak CONVERT fonksiyonu şu şekildedir:
SQLCONVERT(varchar, OrderDate, 104) AS KısaTarih
Burada, 104 format kodu Türkçe kısa tarih formatına karşılık gelir.
Örneğin, yukarıdaki örnekteki "Orders" tablosundaki "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürmek istiyorsanız, aşağıdaki SQL sorgusunu kullanabilirsiniz:
SQLSELECT CONVERT(varchar, OrderDate, 104) AS KısaTarih FROM Orders
Bu sorgu da her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürür ve sonuçları "KısaTarih" adlı bir sütunda gösterir.
Başka bir yöntem de FORMAT fonksiyonunu kullanmak yerine CONVERT fonksiyonunu kullanmaktır. Bu yöntemde, CONVERT fonksiyonu ile tarihi nvarchar veri tipine dönüştürüp ardından istediğiniz formatta formatlayabilirsiniz.
Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:
SQLSELECT CONVERT(nvarchar(10), OrderDate, 104) AS KısaTarih FROM Orders
Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.
Burada 104 format kodu, Türkçe kısa tarih formatına karşılık gelir. nvarchar(10) ise, çıktının maksimum 10 karakter olacağını belirtir. Tarih uzunluğu 10 karakterdir çünkü Türkçe kısa tarih formatı "gg.aa.yyyy" şeklindedir.
Başka bir yöntem olarak, SQL Server'ın yerel FORMAT fonksiyonu yerine .NET Framework'ün ToString() yöntemini kullanabilirsiniz. Bu yöntem, daha esnek bir şekilde tarih biçimlendirme sağlar.
Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:
SQLSELECT OrderDate.ToString('dd.MM.yyyy') AS KısaTarih FROM Orders
Bu sorgu, .NET Framework'ün ToString() yöntemini kullanarak "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.
Bu yöntem, FORMAT fonksiyonuna göre daha yavaş olabilir, ancak daha fazla esneklik sağlar ve daha özelleştirilebilir.
Evet, başka bir yöntem olarak DATENAME ve DATEPART fonksiyonlarını kullanarak da Türkçe kısa tarih formatına benzer bir şekilde tarihleri çeşitli parçalara ayırabilirsiniz. Bu yöntemde, tarihi yıl, ay ve gün olarak ayırarak ve ardından bu parçaları nokta veya başka bir karakterle birleştirerek Türkçe kısa tarih formatına benzer bir çıktı elde edebilirsiniz.
Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:
SQLSELECT CONVERT(nvarchar(2), DATEPART(dd, OrderDate)) + '.' +
CONVERT(nvarchar(2), DATEPART(mm, OrderDate)) + '.' +
CONVERT(nvarchar(4), DATEPART(yyyy, OrderDate)) AS KısaTarih
FROM Orders
Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu yıl, ay ve gün olarak ayırarak ve bu parçaları nokta karakteriyle birleştirerek Türkçe kısa tarih formatına benzer bir çıktı oluşturacaktır.