Şimdi Ara

SQL Server'da Yıl, Ay ve Gün Farkı Gösterimi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
768
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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
    SQL Server'da Yıl, Ay ve Gün Farkı Gösterimi

    Ş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ç
    SQL Server'da Yıl, Ay ve Gün Farkı Gösterimi

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


    Örnek 2 Sonuç
    SQL Server'da Yıl, Ay ve Gün Farkı Gösterimi

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



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







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.