الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار عن حساب فرق الأيام بين تاريخين / وكيفيّة وضع seq ...

بدأه Eng.S.IDk في 31 مايو 2010 · 3 رد · 1,439 مشاهدة · في قسم لغةالاجرائات Pl/sql
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام ُ عليكُم ؛ويعطيكم العافية جميعا ...أنا بشتغل بمشروع (تأجير سيارات ) مشروع لمادة بجامعتي ... للأسف اخدنا المادة بس ما اخدنا كيفية التطبيق :(هلا انا اي زبون بدو يجي يستاجر سيارة ، بفتحلو سجلّ عندي ... ولما بدو يجي يحجز بضيف تاريخ الحجز وتاريخ نهاية الحجز (يعني تاريخ اخدو للسيارة ، وتاريخ ارجاعو للسيارة)هلا انا معني احسب الفرق بين هاد التاريخ ، عشان اذا تأخر بارجاع السيارة ادفعو تكاليف معينة (لكل يوم بتأخر دولر مثلا )يعني ما بدي الفرق بين الاشهر ...ز بدي اطول الفرق بالايام ؛وانا بتصفح النت لقيت فنكشن جاهز اسمو datediff ، بس للاسف لما احطو على الفورم بلدر ..(pl/sql) بقلي انو هاد المتغير غير معرّف ، بالتالي هاد مش معرّف اصلا ومش فنكشن!!أارجو المساعدة \-----------في مشكلة اخرى ، انا هلا بضيف الزبائن عندي ع الجدول ، البرايمري كي لجدول الزبائن هو رقمو (customer_no( ، بس انا بدي اخلي الرقم هاد سيكونسيعني ع الفورم بلدر ، بديش اصير اضيف رقم ، بمجرد اني اضغط زرّ بتون ، يضيف بيانات الزبون بالاضافة لرقم الزبون بشكل سيكونس(بدون ما انا ادخلو )ببنيت انا سيكونس ... وبجملة الانسيرت حطيتو محل اتربيوت رقم الزبون ، بس لما اضغط على بتون الانسيرت بطلعلي إكسبشِنْ ،(فقلت يمكن عشان ما ضفنا فعليا رقم الزبون ) ،فكيف بدي اخليه يضيفلي ارقام الزبائين بشكل سيكونس ومباشرة ؟!! .....وشكراً اكتير ،وجزاكم الله كُل خير .....

#2

المشكلة التانية تم حلها ...لكن ما زلت لا اعرف كيف اجد الفرق بالايام بين تاريخين ....ارجو المساعة ان امكن .. ؛

#3

السلام عليكم ورحمة الله

اخي العزيز هذا مثال علي اخراج الايام من فرق تاريخين ارجو ان يكون المراد

set serveroutput on
    DECLARE
       start_date TIMESTAMP;
       end_date TIMESTAMP;
       service_interval INTERVAL day TO second;
       years_of_service NUMBER;
       months_of_service NUMBER;
    BEGIN
       start_date := TO_TIMESTAMP('20-12-1995','dd-mm-yyyy');
       end_date := TO_TIMESTAMP ('30-12-1995','dd-mm-yyyy');

       service_interval := (end_date - start_date) day TO SECOND;
       DBMS_OUTPUT.PUT_LINE(service_interval);

       years_of_service := EXTRACT(day FROM service_interval);
       months_of_service := EXTRACT(second FROM service_interval);
       DBMS_OUTPUT.PUT_LINE(years_of_service || ' day(s) and '
                            || months_of_service || ' second(s)');
    END;

 :)
#4

السلام عليكم ورحمة الله

اخي العزيز وهذه طريقة ثانية واسهل ولكنها مع اوامر سكول فقط بدون البي ال سكول

select extract(day from (sysdate - to_date('01-08-2010', 'dd-mm-yyyy')) day TO SECOND)  from dual;

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…