Sql Server Tarih Fonksiyonları DATEADD
DATEADD belirtilen tarihin üzerine belirtilen süreyi ekler. DATEADD() fonksiyonu 3 argüment alır. Geriye tarih (smaldatetime) döndürür.
Kullanımı: DATEADD("tarihin kısaltması", "sayı", "tarih").
Hatırlatmak amacıyla tarih ve kısaltmaları tablosunu tekrar inceleyelim.
| Tarihler | Kısaltmalar |
|---|---|
| year | yy, yyyy |
| quarter | q, qq |
| month | m, mm |
| dayofyear | y, dy |
| day | d, dd |
| week | wk, ww |
| weekday | w, dw |
| hour | hh |
| minute | n, mi |
| second | s, ss |
| millisecond | ms |
| microsecond | mcs |
| nanosecond | ns |
Şimdi örneklere geçelim...
Örnek - Bugünün bir ay sonrasını bulalım.
-- Bugünü öğrenelim bunun için GETDATE() kullanıyoruz
Select GETDATE()
-- Çıktısı : 2016-10-09 13:32:31.613
-- Şimdi ise 1 ay sonrasını bulalım
Select DATEADD(MM,1,GETDATE())
-- Çıktısı : 2016-11-09 13:32:31.613
Örnek - Şimdi sipariş tablomuz olsun burada bulunan bir siparişin bir ay sonra ödeme tarihini bulalım.
-- Şimdi siparişmizin 1 ay sonrasını bulalım
Select SiparisID, DATEADD(DD,30,SiparisTarih) from Siparisler
-- Aynı şekilde yy,1,tarih diyerek de 1 yıl sonrası
-- Veya w,2,tarih diyerek 2 hafta sonrasında bulabiliriz
Şiparis Tablomuz
| SiparisID | SiparisTarih |
|---|---|
| 1 | 2016-10-09 13:47:02.487 |
Sorgumuzun çıktısı:
| SiparisID | Ödeme Tarihi |
|---|---|
| 1 | 2016-11-09 13:47:02.487 |