بتاريخ: 30 يوليو 200817 سنة comment_134483 السلام عليكم و رحمة الله و بركاتهالأخوة الكرامكيف يمكنني تحويل الوقت إلى أرقام ؟؟؟ مثال :7:30 -----> 7.5 شكراً تقديم بلاغ
بتاريخ: 30 يوليو 200817 سنة كاتب الموضوع comment_134488 أنا قمت بكتابة هذا الكود و لكنني لم أوفق به :total_hrs := ((to_number(to_char(:leave_out,'hh24'))) + (to_number(to_char(:leave_out,'mi'))*100/60)) - ((to_number(to_char(:come_in,'hh24'))) + (to_number(to_char(:come_in,'mi'))*100/60)) أرجو أن أجد الحل عندكم تم تعديل 30 يوليو 200817 سنة بواسطة أبو فلسطين تقديم بلاغ
بتاريخ: 30 يوليو 200817 سنة comment_134553 أنت قصدك يكون الناتج على الفورم ولا على ال SQL*PLUS ؟ تقديم بلاغ
بتاريخ: 30 يوليو 200817 سنة كاتب الموضوع comment_134586 أخي الحبيب هاني أشكرك من كل قلبي على محاولتك مساعدتي أنا بالطبع أريد كتابة هذا الكود في الفورمهل أستطيع أن أستخدم ما يلي في sql*plus ؟؟؟ :total_hrs :leave_out :come_in على أي حال أخي هاني أنا قمت بحل المشكلة ... و أشكرك من أعماق قلبي على محاولتك مساعدتي بارك الله بك و كثر الله من أمثال من الناس الطيبين تقديم بلاغ
بتاريخ: 31 يوليو 200817 سنة comment_134591 علشان كده أنا كنت مستغرب أنك واضع موضوعك فى منتدى ال SQLعلى أى حال حصل خير ، أنا هنقل موضوعك لمنتدى ال Formsو أتمنى أن تفيد أصدقائك بكيفية حل هذه المشكلة حتى تعم الفائدة على الجميع .و شكراً تقديم بلاغ
بتاريخ: 1 أغسطس 200817 سنة comment_134679 الأخ الكريم ، فعلاً فكرة جيدة جداً ، بس أنا أفضل إنشاء الـ Functions لغرض إستخدامها في أي مكان سواء من داخل الـ database او من خارجها !!!!علي العموم أنظر الي الطريقة التالية التي تحول الوقت الي قيمة رقمية صحيحة : CREATE OR REPLACE FUNCTION GET_TIME_NO(IN_DATE DATE) RETURN NUMBER AS HH NUMBER; MI NUMBER; SS NUMBER; ID_RETURN NUMBER(20,3); BEGIN IF(IN_DATE IS NULL)THEN RETURN 0; ELSE HH := (TO_NUMBER(TO_CHAR(In_Date, 'hh24')) * 60 * 60); MI := (TO_NUMBER(TO_CHAR(In_Date, 'MI')) * 60); SS := TO_NUMBER(TO_CHAR(In_Date, 'ss')); ID_RETURN := (HH + MI + SS) / 60 / 60; RETURN ID_RETURN; END IF; END; / ويمكنك إستدعاء هذا الغرض بالشكل التالي : SELECT GET_TIME_NO(TO_DATE('2008/8/30 01:30:30','YYYY/MM/DD HH24:MI:SS')) AS DAT_NO FROM DUAL; أو SET SERVEROUTPUT ON DECLARE D NUMBER(10,3); BEGIN D := GET_TIME_NO(TO_DATE('2008/8/30 01:30:30','YYYY/MM/DD HH24:MI:SS')); DBMS_OUTPUT.PUT_LINE(D); END; / بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.