Tarih/Saat Fonksiyonları
DateDiff Fonksiyonu
Açıklama
DateDiff fonksiyonu, parametrede belirtmiş olan tarihe gün, hafta, ay, yıl, hafta, haftasonu, üç aylık dönem, saat, dakika, saniye cinsinden değerler eklemek veya çıkarmak için kullanılır.
Söz Dizimi
DateAdd (aralık,tarih1,tarih2,haftanınilkgunu,yılınilkhaftası) |
PARAMETRELER
DEĞER
|
AÇIKLAMA
|
yyyy
|
Yıl
|
q
|
Üç Aylık Dönem
|
m
|
Ay
|
y
|
Yılın Günü
|
d
|
Gün
|
w
|
Hafta Sonu
|
ww
|
Hafta
|
h
|
Saat
|
n
|
Dakika
|
s
|
Saniye
|
DEĞER
|
AÇIKLAMA
|
0
|
NLS API Ayarı
|
1
|
Pazar (Varsayılan Değer)
|
2
|
Pazartesi
|
3
|
Salı
|
4
|
Çarşamba
|
5
|
Perşembe
|
6
|
Cuma
|
DEĞER
|
AÇIKLAMA
|
0
|
NLS API Ayarı
|
1
|
1 Ocak’ı içeren ilk haftayı kullanın (varsayılan
değer)
|
2
|
En az 4 günü olan yılın
ilk haftasını kullan.
|
3
|
Yılın ilk tam haftasını kullan.
|
PARAMETRELER
- aralık: Tablo-1 de belirtilen değerlerden herhangi birini ifade eder.
- tarih1: farkı alınacak tarihin başlangıcını ifade eder.
- tarih2: farkı alınacak tarihin sonunu ifade eder.
- haftanınilkgunu: Varsayılan değer 1'
- yılınilkhaftası: Varsayılan değer 1'dir
Hemen bir örnekle komutumuzu pekiştirelim.
Personelin doğum tarihinden sonra bugüne kadar kaç gün geçmiş,
Personelin Doğum Tarihi: 01/01/1999 olsun.
Sonuç: DateDiff("d", Date(),#01/01/1999#)
7383 gün geçmiş peki kaç ay geçmiş?
Sonuç: DateDiff("m", Date(),#01/01/1999#)
242 ay geçmiş, Peki kaç 3 aylık dönem geçmiş?
Sonuç: DateDiff("q", Date(),#01/01/1999#)
80 tane 3 Aylık dönem geçmiş, Peki kaç saat geçmiş?
80 tane 3 Aylık dönem geçmiş, Peki kaç saat geçmiş?
Sonuç: DateDiff("h", Date(),#01/01/1999#)
177192 saat geçmiş.
Ya da siparişler tablosunda bulunan sipariş tarihine belirli bir gün eklenerek son teslim zamanı elde edilebilir. Bunun gibi örnekler çoğaltılabilir.
SQL Kullanımı ve Sonucu
Yukarıdaki örnekte İletme Tarihi ile Oluşturma Tarihini arasındaki geçen gün farkı hesaplanmaktadır.
Yılbaşından itibaren kaç hafta geçmiş Hemen yazalım.
DateDiff("ww",#1/1/2019#, Date())
Sonuç: 251 olacaktır.
VBA Kullanımı ve Sonucu
VBA Örneğinde, 1/1/2009 tarihinden, günümüze kadar kaç gün geçtiğini aşağıdaki komutla bulabiliriz.
VBA Kod Örneği
|
Option Compare Database
Option Explicit Sub DateDiffExample() Dim fark Integer fark = DateDiff("d",#1/1/2009#,Date()) 'Return '3903 End Sub |
Varsayılan değerler İşletim Sisteminin Bölge ve Dil seçeneklerindeki ayarlardan etkilenir.
|
Tarih1 parametresi, Tarih2 parametresinden küçük olmalıdır. Aksi takdirde sonuç negatif çıkacaktır.
|
DateAdd fonksiyonu ile belirli bir tarihe ekleme ve çıkarma yaparken DateDiff fonksiyonu ile 2 tarih arasındaki fark hesaplanır.
Bir makalemizin daha sonuna gelmiş bulunmaktayız. Yorumlarınızı ve eleştirilerinizi bekliyorum.
Şimdilik,
Hoşcakalın...
0 Yorumlar