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

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

صورة
- - - - -

التعامل مع تاريخين


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

#1 mah_dba

mah_dba

    عضو

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

تاريخ المشاركة 24 December 2007 - 03:09 PM

[color="#0000FF"]السلام عليكم

أأرجو المساعدة فى هذه المشكلة

:
فى العمليات الحسابية الخاصة بالتاريخ من المعلوم أن تاريخ -تاريخ = رقم(الايام )
لكنى اريد query clauseيعود بالفرق بين التاريخين على هيئة يوم - شهر - سنة
مثال

فى الحالة العادية 1/3/1997 - 9/1/1996 = 417 يوم

انا أريد الناتج يكون 22-1-1

أعلم انى ممكن أعملها كود pl sql لكنى اريد لو يوجد حاجة فى الاوراكل جاهزه

وشكرا للجميع
[/color]

Mohamed Ahmed Hassan
ADF Developer

#2 mah_dba

mah_dba

    عضو

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

تاريخ المشاركة 25 December 2007 - 11:12 AM

ايه ياجماعة ..........زالموضوع صعب أوى كده ولا ايه
Mohamed Ahmed Hassan
ADF Developer

#3 manfrompal

manfrompal

    عضو

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

تاريخ المشاركة 27 December 2007 - 06:33 AM

اتفضل اخي

SELECT TRUNC((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))/360,0)
||'-'||TRUNC(((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))-(TRUNC((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))/360,0)*360))/30,0)
||'-'||TO_NUMBER((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))-(TRUNC((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))/360,0)*360+TRUNC(((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))-(TRUNC((TO_DATE('01/03/1997','DD/MM/YYYY')-TO_DATE('09/01/1996','DD/MM/YYYY'))/360,0)*360))/30,0)*30),'9999999')
FROM DUAL;