SQL Server’da En Son Girilen Tarihten Bir Gün Önceki Tarihe Erişmek
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.