Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
931
Tıklama
1
Öne Çıkarma
SQL Server'da Yıl, Ay ve Gün Farkı Gösterimi
O
5 yıl
Çavuş
Konu Sahibi

Uygulamalarınızda iki tarih arasındaki değerleri A Yıl, B Ay, C Gün şeklinde gösterme gereği duyarız. Yaptığımız küçük bir uygulama ile bu gösterimi sağlamış olacağız.

Veritabanı işlemleri yaparken tarih verilerinin daha güzel bir gösterimi için bazı method yada fonksiyonlara ihtiyaç duyarız. Kısaca o fonksiyonu sizlere aktaralım. Fonksiyonumuz iki tane tarih verisi istemektedir. Verilen iki tarihi işledikten sonra gösterim olarak örneğin '2 Yıl 7 Ay 16 Gün' olarak bize geridönüş sağlamaktadır.

Tarih Fonksiyonu
CREATE FUNCTION dbo.fnYilAyGun
(
@BaslangicTarihi DATETIME,
@BitisTarihi DATETIME
)
RETURNS varchar(100)
AS
BEGIN
DECLARE @Yil INT
DECLARE @Ay INT
DECLARE @Gun INT
DECLARE @Sonuc VARCHAR(100)
SET @Yil = DATEDIFF(yy, @BaslangicTarihi, @BitisTarihi)
SET @Ay = DATEDIFF(mm, @BaslangicTarihi, @BitisTarihi) - (@Yil * 12)
SET @Gun = DATEDIFF(dd, @BaslangicTarihi, @BitisTarihi) - ((@Yil * 365) + (@Ay * 30))
IF (@Yil < 1)
BEGIN
SET @Yil = ''
END
IF (@Ay < 1)
BEGIN
SET @Ay = ''
END
IF (@Gun < 1)
BEGIN
SET @Gun = ''
END
SET @Sonuc = (' ' + CAST(@Yil AS VARCHAR(4)) + ' Yıl ' + CAST(@Ay AS VARCHAR(2)) + ' Ay ' + CAST(@Gun AS VARCHAR(2)) + ' Gün')
SET @Sonuc = REPLACE(@Sonuc, ' 0 Yıl', '')
SET @Sonuc = REPLACE(@Sonuc, ' 0 Ay', '')
SET @Sonuc = REPLACE(@Sonuc, ' 0 Gün', '')
RETURN @Sonuc
END


Fonksiyonumuzu yazdık, şimdi ise bunu SQL Server üzerinde oluştuğunu teyit edelim.
Oluşan Fonksiyon
< Resime gitmek için tıklayın >

Şimdi ise örnekler konuyu pekiştirmeye çalışalım.

Örnek 1
SELECT dbo.fnYilAyGun('2012-01-02', '2020-03-10') AS TarihFarki


Örnek 1 Sonuç
< Resime gitmek için tıklayın >

Örnek 2
SELECT dbo.fnYilAyGun('2018-04-20', '2018-05-28') AS TarihFarki


Örnek 2 Sonuç
< Resime gitmek için tıklayın >

Kaynak: https://www.ontedi.com/sql/sql-serverda-yil-ay-ve-gun-farki-gosterimi

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi ontedi -- 21 Nisan 2020; 9:39:34 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.