SQL Server ile ilgili her şey.

SQL Server’da En Son Girilen Tarihten Bir Gün Önceki Tarihe Erişmek

S

Herkese merhaba,

Bu yazıda sizlere SQL Server’da en son girilen tarihten bir gün önceki tarih bilgisine nasıl erişebiliriz bundan bahsedeceğim.

Konu bir uygulama yazarken ortaya çıktı. Yazılan uygulama toplantı uygulamasıydı.

Yazılan toplantı uygulamasında bir önceki toplantının tarih bilgisine ihtiyaç duydum. Ayrıca her bir toplantının da kendine ait bölümleri vardı. Satış, Pazarlama vb. bölümleri gibi.

Bu tarihe nasıl erişecektim?

Konu ile ilgili örnek kodları veritabanı oluşturarak yaptım. Sizler de deneyerek inceleyebilirsiniz.

--Tablo oluşturulması                              

CREATE TABLE Toplantilar (
ToplantiID INT PRIMARY KEY IDENTITY(1,1),
ToplantiAdi NVARCHAR(100),
ToplantiBolum NVARCHAR(100),
ToplantiTarih SMALLDATETIME
)
  

--Tabloya veri eklenmesi


  INSERT INTO dbo.Toplantilar
          ( ToplantiAdi ,
            ToplantiBolum ,
            ToplantiTarih
          )
  VALUES  (N'Haftalık Toplantı' , -- ToplantiAdi - nvarchar(100)
            N'Satış' , -- ToplantiBolum - nvarchar(100)
            '2018.03.15'  -- ToplantiTarih - smalldatetime
          )

  INSERT INTO dbo.Toplantilar
          ( ToplantiAdi ,
            ToplantiBolum ,
            ToplantiTarih
          )
  VALUES  (N'Haftalık Toplantı' , -- ToplantiAdi - nvarchar(100)
            N'Satış' , -- ToplantiBolum - nvarchar(100)
            '2018.03.18'  -- ToplantiTarih - smalldatetime
          )


  INSERT INTO dbo.Toplantilar
          ( ToplantiAdi ,
            ToplantiBolum ,
            ToplantiTarih
          )
  VALUES  (N'Haftalık Toplantı' , -- ToplantiAdi - nvarchar(100)
            N'Satış' , -- ToplantiBolum - nvarchar(100)
            '2018.03.22'  -- ToplantiTarih - smalldatetime
          )


  INSERT INTO dbo.Toplantilar
          ( ToplantiAdi ,
            ToplantiBolum ,
            ToplantiTarih
          )
  VALUES  (N'Aylık Toplantı' , -- ToplantiAdi - nvarchar(100)
            N'Pazarlama' , -- ToplantiBolum - nvarchar(100)
            '2018.04.11'  -- ToplantiTarih - smalldatetime
          )


  INSERT INTO dbo.Toplantilar
          ( ToplantiAdi ,
            ToplantiBolum ,
            ToplantiTarih
          )
  VALUES  (N'Aylık Toplantı' , -- ToplantiAdi - nvarchar(100)
            N'Pazarlama' , -- ToplantiBolum - nvarchar(100)
            '2018.04.19'  -- ToplantiTarih - smalldatetime
          )

--Listelenmesi

SELECT * FROM dbo.Toplantilar

--En son toplantıdan bir önceki toplantı tarihine erişilmesi

SELECT  ToplantiTarih
        FROM    Toplantilar
WHERE   ToplantiTarih < '2018.03.22' AND  ToplantiBolum=N'Satış'
        AND  ToplantiTarih NOT IN  (
        SELECT  ToplantiTarih
        FROM    Toplantilar
        WHERE   ToplantiTarih < ( SELECT    MAX(ToplantiTarih)
                                  FROM      Toplantilar
                                  WHERE     ToplantiBolum = N'Satış'
                                            AND ToplantiTarih < '2018.03.22'
                                ) ) 

Görüldüğü üzere satış bölümüne ait en son yapılan toplantıdan önceki toplantının tarih bilgisine eriştim. Bölüm bilgisini değiştirerek benzer sonuçlar alabilirsiniz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server Eğitimleri Kanalına Abone Olun

Yazar Hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Yavuz Selim Kart
SQL Server ile ilgili her şey.

Yazar

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.