13 Aralık 2010 Pazartesi

İki tarih arası farkı Yıl, Ay, Gün olarak bulmak

İki tarih arasında geçen zamanı bulmanız, yaş hesaplamanız gerekebilir. Oracle’da iki tarih
arasındaki farkı yıl, ay,gun olarak veren fonksiyon bulunmamaktadır.
Ben aşağıdaki şekilde bir sql ile hallettim:

SQL>SELECT
DOG_TAR DOGUM_TARIHI,
TRUNC( MONTHS_BETWEEN( SYSDATE, dog_tar)/12) yil,
TRUNC( MOD( MONTHS_BETWEEN( SYSDATE, dog_tar),12) ) ay,
TRUNC( (MONTHS_BETWEEN(SYSDATE,dog_tar)- TRUNC(MONTHS_BETWEEN( SYSDATE,
dog_tar))) /0.032258064516129) gun
FROM
PERSONEL;
DOGUM_TARIHI YIL AY GUN
------------ ---------- ---------- ----------
11.04.1970 39 9 24
01.01.1960 50 1 3
01.01.1998 12 1 3
04.08.1997 12 6 0
13.02.1982 27 11 22
0.032258064516129 iki gün arasındaki fark.
SQL>SELECT MONTHS_BETWEEN( SYSDATE,SYSDATE-1) FROM DUAL;
MONTHS_BETWEEN(SYSDATE,SYSDATE
------------------------------
0,032258064516129
Share:

1 yorum:

Blog Arşivi