الانتقال إلى المحتوى

اسهل طريقه لمعرفه الفرق بين تاريخين


colla

Recommended Posts

بسم الله الرحمن الرحيم

اليوم ياشباب جايبلي طريقه سهله ومريحه لمعرفة الفرق بين تارخين بشرط باليوم والشهر والسنة

ياشباب فأنا لا أدعي المعرفه ولكن لكل مجتهد نصيب فأرجو من كل يطبق هذا الاستعلام إن كان لديه طريقة افضل

ان يشاركنا بها

create table t ( end_date date, start_date date );

insert into t values ( '10-FEB-2000', '02-JAN-1999' );

insert into t values ( '02-FEB-2000', '10-JAN-1999' );

select months_between( end_date, start_date ),
trunc( months_between( end_date, start_date ) /12 ) Years,
mod( trunc( months_between( end_date, start_date ) ), 12 ) months,
end_date - add_months(start_date,trunc( months_between( end_date,start_date ) )) days
from t;
---------------------
MONTHS_BETWEEN(END_DATE,START_DATE)      YEARS     MONTHS       DAYS
----------------------------------- ---------- ---------- ----------
                        13.2580645          1          1          8
                        12.7419355          1          0         23

end_date date		 start_date date

'10-FEB-2000'		 '02-JAN-1999'

how to calculate the day :

step (1) :
select months_between( end_date,start_date ) days
from t;
---------------
     DAYS
----------
13.2580645

step (2) :

select trunc( months_between( end_date,start_date )) days
from t;
--------------------
     DAYS
----------
       13


step (3) :

select add_months(start_date,trunc( months_between( end_date,start_date ) )) days
from t;
-----------------------

DAYS
--------------------
02-FEB-2000 12:00:00

step (4) :

select end_date - add_months(start_date,trunc( months_between( end_date,start_date ) )) days
from t;
----------------------
     DAYS
----------
        8


ولا تنسونا من صالح تعليقاتكم ودعواتكم

http://rapidshare.com/files/215276325/deff...ween_2_date.txt

رابط هذا التعليق
شارك

  • بعد 3 شهور...
  • بعد 1 شهر...

انا كنت حاولت احل السؤال دا قبل كدا .. ووصلت لحل بنفس الفرة تقريبا و لكن راحت من على بالى دالة MOD خالص فاضطريت اعمل SUBSTR و ادور جواها على INSTR

SELECT HIREDATE,
      TRUNC(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12) YEARS,
      TRUNC(SUBSTR(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12,INSTR(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12,'.'))*12) MONTHS,
      TRUNC(SUBSTR(MONTHS_BETWEEN(SYSDATE,HIREDATE),INSTR(MONTHS_BETWEEN(SYSDATE,HIRED
ATE),'.'))*30) DAYS
FROM EMP;



جزاكم الله خيرا

رابط هذا التعليق
شارك

  • بعد 10 شهور...

بجد نفعتنى كتير فى عمليه حسابيه بالنسبه لى بجد شكراااا يااخوانى

رابط هذا التعليق
شارك

SELECT TRUNC(MONTHS_BETWEEN('30-AUG-2010',SYSDATE)) MONTHS,TRUNC((months_between('30-JUL-2010',sysdate)) /12*365) Day,trunc(months_between('30-JUL-2010',sysdate )) /12 FROM DUAL;


هذا هو الكود الصحيح بالتحديد لحساب الايام
حيث كان فيها خطأ بسيط وقمت بتلوينه باللون الاحمر

تم تعديل بواسطة rose_4_pretty
رابط هذا التعليق
شارك

  • بعد 4 شهور...

أنا وصلت لحل آخر بيطلع الناتج عبارة عن عدد الشهور و الأيام و الأسابيع و السنين....إلخ بين تاريخين بمعنا أنا عندي تاريخ الميلاد 25/5/1988 و تاريخ اليوم 24/11/2010
الكود إللي توصلت له بفضل الله هيجين كام يوم بين التاريخين 32400 يوم وكام إسبوع 1080 أٍسبوع وكام شهر 270 شهر وكام سنة 22,5 سنة.....إلخ
الكود:

select 
round(months_between(sysdate, '25/05/1988'))/12 as السنين,
round(months_between(sysdate, '25/05/1988')) as الشهور, 
round(months_between(sysdate, '25/05/1988'))*4 as الأسبيع,
round(months_between(sysdate, '25/05/1988'))*4*30 as اليوم, 
round(months_between(sysdate, '25/05/1988'))*4*30*24 الساعات, 
round(months_between(sysdate, '25/05/1988'))*4*30*24*60 الثواني, 
round(months_between(sysdate, '25/05/1988'))*4*30*24*60*60 الاحظات,
add_months('25/05/1988', 276)as الميلاد,
to_char(sysdate, 'day   -   month   - yyyy  ')تفقيط
from dual 

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية