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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


17 رد (ردود) على هذا الموضوع

#1 colla

colla

    عضو نشط

  • الأعضــاء
  • 245 مشاركة

تاريخ المشاركة 30 March 2009 - 02:06 PM

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

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

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

ان يشاركنا بها
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.co...ween_2_date.txt
  • MTSHAJALI معجب بهذا

على المرء ان يسعى وليس عليه ادراك النجاح


صورة


#2 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,558 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 30 March 2009 - 03:21 PM

السلام عليكم

شكرا لك على الجهد المتميز

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

لا إله إلا الله الحليم الكريم
لا اله إلا الله العلى العظيم
لا اله إلا الله رب السماوات السبع و رب العرش العظيم
‏اللهم ارزقني قبل الموت توبة وعند الموت شهادة وبعد الموت جنة
اللهم ارزقني حسن الخاتمة
اللهم هون علينا سكرات الموت ... ونور علينا قبورنا
اللهم ارزقني الموت وأنا ساجد لك يا ارحم الراحمين
اللهم ثبتني عند سؤال الملكين
اللهم اجعل قبري روضة من رياض الجنة ولا تجعله حفرة من حفر النار
اللهم اني اعوذ بك من فتن الدنيا
اللهم ارحم ابائنا وامهاتنا واغفر لهما وتجاوز عن سيئاتهما وادخلهم فسيح جناتك ... والحقنا بهما يا رب العالمين
اللهم ارحم موتانا وموتى المسلمين واشفي مرضانا ومرضى المسلمين
اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات
وبارك اللهم على سيدنا محمد صلى الله عليه وسلم
اللهم آمين ... اللهم آمين ... اللهم آمين


....


#3 hrs

hrs

    عضو نشط

  • الأعضــاء
  • 282 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 March 2009 - 10:24 AM

تسلم اخي ..

nice way to find the no. of days
for me it was new thing
your way in disc. also nice
thank you very much <_<

#4 mk3bmw

mk3bmw

    عضو نشط

  • الأعضــاء
  • 234 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 March 2009 - 02:00 PM

بدك الصراحة لسه كنت بحسب معدل أعمار الموظفين بالشركة ولقيت مشاركتك بالصدفة ، أشكرك جزيل الشكر

#5 colla

colla

    عضو نشط

  • الأعضــاء
  • 245 مشاركة

تاريخ المشاركة 06 July 2009 - 07:50 AM

حل آخر وبالتوفيق للجميع :

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

  • MTSHAJALI و waleed3z معجبون بهذا

على المرء ان يسعى وليس عليه ادراك النجاح


صورة


#6 colla

colla

    عضو نشط

  • الأعضــاء
  • 245 مشاركة

تاريخ المشاركة 06 July 2009 - 07:52 AM

الحل الجديد اسهل من الي راح وبعد كذا الله اعلم

على المرء ان يسعى وليس عليه ادراك النجاح


صورة


#7 hima123

hima123

    عضو

  • الأعضــاء
  • 18 مشاركة

تاريخ المشاركة 06 July 2009 - 12:01 PM

تسلم يالغالي

#8 ahmedelsayed14

ahmedelsayed14

    عضو

  • الأعضــاء
  • 8 مشاركة

تاريخ المشاركة 29 August 2009 - 03:00 PM

انا كنت حاولت احل السؤال دا قبل كدا .. ووصلت لحل بنفس الفرة تقريبا و لكن راحت من على بالى دالة 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;


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

#9 ahmedelsayed14

ahmedelsayed14

    عضو

  • الأعضــاء
  • 8 مشاركة

تاريخ المشاركة 29 August 2009 - 03:08 PM

بالنسبة للحل الاخر بيحسب المدة الزمنية كاملة بالايام
وبعدين المدة كاملة بالشهور
و بعدين المدة كاملة بالسنين ..

و الا ما كانش حد غلب ;)

#10 جلال شواقفه

جلال شواقفه

    عضو مميز

  • الأعضــاء
  • 2,559 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 29 August 2009 - 03:35 PM

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

جلال محمود شواقفه
مدير دائرة الحاسوب
بلدية المفرق الكبرى
المملكه الاردنيه الهاشميه.

#11 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 29 August 2009 - 04:47 PM

يعطيك العافيه أخي..
الى الامام..

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#12 developer 10g

developer 10g

    عضو

  • الأعضــاء
  • 25 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:oracle developer 10g & oracle jdeveloper 10g & oracle db 11g & java &

تاريخ المشاركة 13 July 2010 - 02:29 PM

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

#13 MTSHAJALI

MTSHAJALI

    عضو مميز

  • الأعضــاء
  • 683 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 July 2010 - 03:38 PM

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, 13 July 2010 - 03:39 PM.

ما اوقع على شيء ما اعرفه


#14 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 13 July 2010 - 07:21 PM

مشكور يا معتز...
واهلا بعودتك..

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#15 colla

colla

    عضو نشط

  • الأعضــاء
  • 245 مشاركة

تاريخ المشاركة 18 November 2010 - 02:18 PM

اشكركم يا اخوان على كلامكم الطيب وحقيقه تشرفت بحضوركم وتعليقاتكم في هذا الموضوع

على المرء ان يسعى وليس عليه ادراك النجاح


صورة