Mo7B بتاريخ: 25 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 25 نوفمبر 2004 السلام عليكم لو سمحتوا ابغى اعرف كيف انقص تاريخين من بعضهميعني التاريخ الاول هو تاريخ الجهازوالتاريخ الثاني يعطي من المستخدم التاريخ الناتج يكون عل شكل تاريخ ياليت يكون فيه مثال مرفق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله أسعد بتاريخ: 25 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 25 نوفمبر 2004 (معدل) السلام عليكم ورحمة الله وبركاته،، اولا : العمليات التى تجرى على التاريخ هى :بفرض ان التا ريخ الحالى هو 25-11-2004---------------------------------------------------------------------------------------تاريخ + رقم = تاريخ مثال : ( (25-11-2004)+ 10 = ( 5 -12-2004) )---------------------------------------------------------------------------------------تاريخ - رقم = تاريخ مثال : ( (25-11-2004) - 5 = (20 -11-2004) )--------------------------------------------------------------------------------------تاريخ - تاريخ = ايام (عدد الايام الفرق بين التاريخين لا حظ انه لو كان التاريخ الا ول صغير فان قيمنة الناتج ستكون بالسالب ) مثال : ( (25-11-2004)- (10-12-2005) = 15 )----------------------------------------------------------------------------------بالنسبة لعملية الطرح يمكنك استخدام ( Function ( MONTHS_BETWEEN (date1, date2 وهى تقوم بعملية الطرح بين تاريخين هما date1, date2 لاحظ انا التا ريخ الا كبر قيمة او الا حدث هو الا ول و الثانى هو الا قدم فالناتج فى هذه الحالة موجب و لو العكس يكون الناتج بقيمة سا لبةانت تريد استخدام تاريخ الجهاز SYSDATE تعامل مع تاريخ الجهاز على انه تاريخ مثال: SELECT employee_id, hire_date, MONTHS_BETWEEN (SYSDATE, hire_date)) from employees; الناتج يكون رقم الموظف و تاريخ تعينه و ناتج طرح تاريخ تعينه من تاريخ الجهاز (فترة عمله منذ بداية تعينه)فلو ان مثلا تاريخ الجهاز هو 25-11-2004 وتاريخ التعيين (hire_date) هو 10-10-2003 ناتج الطرح يكون عدد الايام الفق بين التاريخين و هو 412 يوم ادعو الله ان اكون قد اجبت على سؤالك تم تعديل 25 نوفمبر 2004 بواسطة bedooracle اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
developer9 بتاريخ: 27 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 27 نوفمبر 2004 (معدل) مشكور اخي bedooracle بالنسبة للأمثلة التي ضربتها للعمليات الحسابية والمنطقية للتأريخ يتضح إن التغيير يجري على الايام فقط مثلاً عندما اطبع التاريخ الحالي + 10 فإنه يزيد من عدد الأيامفإذا كنت اريد أن تكون الزيادة في الشهور والسنين هل هناك دوال خاصة لذلك ارجو التوضيح وشكراً تم تعديل 27 نوفمبر 2004 بواسطة developer9 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
developer9 بتاريخ: 27 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 27 نوفمبر 2004 شكراً اخي bedooracle على هذه الامثلة اخي بالنسبة للامثلة التي ضربتها توضح العمليات الحسابية والمنطقية على التأريخ ولكن على الايام فقط فإذا اردت ان تكون العمليات ( من جمع وطرح ) شهور او سنين هل هناك دوال خاصه ام ماذاوتقبل تحياتي ... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله أسعد بتاريخ: 27 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 27 نوفمبر 2004 (معدل) [ALIGN=left]Date function on oracleهذه مجموعة من الـ function التى تتعا مل مع قواعد البيا نات فى اوراكل :1- MONTHS_BETWEEN(date1, date2) :و تستخدم لمعرفة عد د الاشهر بين تاريخين date1, date2 مع ملاحظة ان النا تج ممكن ان يكون موجب او سالب و ذلك يتوقف عليه قيمة التا ريخ الاول كما وضحت من قبل مثا ل :MONTHS_BETWEEN (’01-SEP-95’,’11-JAN-94’)= 19.6774194 SELECT employee_id, hire_date, MONTHS_BETWEEN (SYSDATE, hire_date) from employees ; 2- ADD_MONTHS(date, n) :تقوم هذه الـ Function باضافة عدد من الا شهر على تاريخ معين ( n) مع ملاحظة ان قيمة n لا بد ان تكون قيمة موجبة لا تستطيع ان تضع قيمة سالبة مثا ل:ADD_MONTHS (’11-JAN-94’,6)= ’11-JUL-94’ SELECT employee_id, hire_date , ADD_MONTHS (hire_date, 6) REVIEW,from employees ;3- NEXT_DAY(date, 'char') :تقوم هذه الـ Function بمعرفة تاريخ يوم معين بمعنى اوضح عندما تريد معرفة تاريخ مثلا .اول بوم جمعة فى تاربخ معين( مثلا عابز تعرف امتى اول يوم جمعة هيجى بعد تاريخ النهارده 27-11-2004 هيكون تاريخه يوم 5-12-2004 )مثال :NEXT_DAY (’27-NOV-04’,’FRIDAY’)'5-DEC-2004'=4- LAST_DAY(date) :وهى تقوم بمعرفة اخر يوم فى شهر معبن date مثال :LAST_DAY(’01-NOV-04’)= ('30-NOV-04 ')</div> معذرة لانى لم استطيع تنظيم الكتا بة فلا ادرى كيف انسق الحروف فمعذرة و مرفق مع المشاركة ملف الوورد الذى كتبته للرد على المو ضوع Date_function_on_oracle.doc تم تعديل 27 نوفمبر 2004 بواسطة bedooracle اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
developer9 بتاريخ: 28 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 28 نوفمبر 2004 مشكووووووووووور ما قصرت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mo7B بتاريخ: 1 ديسمبر 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2004 جزاك الله خير على المعلومات هذى ولكن اخوي انا ابغى الناتج ناتج طرح الجملة التالية يكون 11-OCT-2004 SELECT employee_id, hire_date, MONTHS_BETWEEN (SYSDATE, hire_date) from employees ; اذا كان الشي هذا ممكن اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله أسعد بتاريخ: 2 ديسمبر 2004 تقديم بلاغ مشاركة بتاريخ: 2 ديسمبر 2004 (معدل) ممكن شو ية تو ضيح Mo7B ؟ تم تعديل 2 ديسمبر 2004 بواسطة bedooracle اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mo7B بتاريخ: 2 ديسمبر 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 ديسمبر 2004 يعني اريد الناتج يكون تاريخ محدد مش ارقام هنا مثالانقصناتاريخ الجهاز من تاريخ التعيين كان الناتج كما يلي SELECT empno, hiredate, MONTHS_BETWEEN (SYSDATE, hiredate) from emp; EMPNO HIREDATE MONTHS_BETWEEN(SYSDATE,HIREDATE) ----- --------- -------------------------------- 7369 17-DEC-80 275.53888 7499 20-FEB-81 273.4421 7521 22-FEB-81 273.37759 7566 02-APR-81 272 7654 28-SEP-81 266.18404 7698 01-MAY-81 271.05501 7782 09-JUN-81 269.79694 7788 19-APR-87 199.47436 7839 17-NOV-81 264.53888 7844 08-SEP-81 266.8292 7876 23-MAY-87 198.34533 7900 03-DEC-81 263.99049 7902 03-DEC-81 263.99049 7934 23-JAN-82 262.34533 انا اريد الناتج يكون تاريج مو ارقام هل ممكن الشي هذا اوضح بمثال ولا ياخذ انه صحيح EMPNO HIREDATE MONTHS_BETWEEN(SYSDATE,HIREDATE) ----- --------- -------------------------------- 7369 17-DEC-80 11-oct-2004 هل ممكن الشي هذا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.