بتاريخ: 30 مارس 200916 سنة comment_152502 بسم الله الرحمن الرحيم اليوم ياشباب جايبلي طريقه سهله ومريحه لمعرفة الفرق بين تارخين بشرط باليوم والشهر والسنة ياشباب فأنا لا أدعي المعرفه ولكن لكل مجتهد نصيب فأرجو من كل يطبق هذا الاستعلام إن كان لديه طريقة افضل ان يشاركنا بها 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 تقديم بلاغ
بتاريخ: 30 مارس 200916 سنة comment_152509 السلام عليكم شكرا لك على الجهد المتميز جزاك الله خيرا تقديم بلاغ
بتاريخ: 31 مارس 200916 سنة comment_152552 تسلم اخي .. nice way to find the no. of daysfor me it was new thingyour way in disc. also nice thank you very much تقديم بلاغ
بتاريخ: 31 مارس 200916 سنة comment_152567 بدك الصراحة لسه كنت بحسب معدل أعمار الموظفين بالشركة ولقيت مشاركتك بالصدفة ، أشكرك جزيل الشكر تقديم بلاغ
بتاريخ: 6 يوليو 200916 سنة كاتب الموضوع comment_162314 حل آخر وبالتوفيق للجميع : select (trunc(months_between(sysdate, '30-JUN-2007')) /12)*365 Day, trunc(months_between(sysdate, '30-JUN-2007')) months, trunc(months_between(sysdate, '30-JUN-2007')) /12 Year from dual تقديم بلاغ
بتاريخ: 6 يوليو 200916 سنة كاتب الموضوع comment_162315 الحل الجديد اسهل من الي راح وبعد كذا الله اعلم تقديم بلاغ
بتاريخ: 29 أغسطس 200916 سنة comment_168103 انا كنت حاولت احل السؤال دا قبل كدا .. ووصلت لحل بنفس الفرة تقريبا و لكن راحت من على بالى دالة 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; جزاكم الله خيرا تقديم بلاغ
بتاريخ: 29 أغسطس 200916 سنة comment_168105 بالنسبة للحل الاخر بيحسب المدة الزمنية كاملة بالاياموبعدين المدة كاملة بالشهورو بعدين المدة كاملة بالسنين ..و الا ما كانش حد غلب تقديم بلاغ
بتاريخ: 13 يوليو 201015 سنة comment_196556 بجد نفعتنى كتير فى عمليه حسابيه بالنسبه لى بجد شكراااا يااخوانى تقديم بلاغ
بتاريخ: 13 يوليو 201015 سنة comment_196565 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;هذا هو الكود الصحيح بالتحديد لحساب الايامحيث كان فيها خطأ بسيط وقمت بتلوينه باللون الاحمر تم تعديل 13 يوليو 201015 سنة بواسطة rose_4_pretty تقديم بلاغ
بتاريخ: 18 نوفمبر 201015 سنة كاتب الموضوع comment_203782 اشكركم يا اخوان على كلامكم الطيب وحقيقه تشرفت بحضوركم وتعليقاتكم في هذا الموضوع تقديم بلاغ
بتاريخ: 19 نوفمبر 201015 سنة comment_203805 جزااااااكم الله ألف خيرررررر جميعاً يا أخواااان على الحلول الرائعه كل الشكر لكم .. تقبلوا تحيااااااااتي تقديم بلاغ
بتاريخ: 24 نوفمبر 201015 سنة comment_204102 أنا وصلت لحل آخر بيطلع الناتج عبارة عن عدد الشهور و الأيام و الأسابيع و السنين....إلخ بين تاريخين بمعنا أنا عندي تاريخ الميلاد 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 تقديم بلاغ
بتاريخ: 27 نوفمبر 201015 سنة كاتب الموضوع comment_204305 جزاك الله خير يا اخ HGAGG على هذه المشاركه الطيبة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.