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

كيف يتم حساب بين تاريخين والناتج يكون

مغلق
بدأه malik2007 في 16 أغسطس 2007 · 1 رد · 2,138 مشاهدة · في قسم Oracle Forms
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا عندي مشرع تخرج اصممة باللغة اوراكل10 يختص هذا المشروع بالفندقة وهي الحجوزات وحسابات النزيل،

واجهة مشكله وهي عند تاريخ دخول النزيل وعند خروجه،طبعا انا عندي جدول اسمه النزلا يوجد به حقول بها بيانات النزيل الخاصه به ومنها حقل تاريخ دخول النزيل ويوجد حقل ثاني بشكل كومبو بكس بداخله دخول وهو الافتراضي وخروج

وتوجد هنا عمليه بسيطه وهي حاسب عدد الايام التي سكن فيها النزيل تضرب عدد الايام في سعر السكن علما ان لدي جدول غرف وجدول الاجنحة وتوجد في هذه الجداول اسعار السكن.

سؤال هنا

كيف اطلع عدد الايام بين تاريخين داخل تكست؟ثم اضرب عدد الايام في قيمة السكن؟

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

#2

أخوي malik2007

أولا أبغى أسألك , ماهو الفورمات اللي تستخدمه لتخزين التاريخ ؟

هل تخزن التاريخ بفورمات خاصة بك (NUMBER) يعني أم تخزن الحقل على أنه DATE ؟

على العموم , لنفرض أن الحقل اللي فيه تاريخ الدخول اسمه IN_DATE

والحقل اللي فيه تاريخ الخروج هو OUT_DATE

والحقل اللي بتخزن فيه عدد الأيام بين التاريخين اسمه NO_DAYS

تاريخ الدخول هو 15/08/2007

تاريخ الخروج هو 19/08/2007

لتحصل على الفرق بين التاريخين أكتب الآتي : -

SELECT TO_DATE(:OUT_DATE,'YYYYMMDD') - TO_DATE

('IN_DATE,'YYYYMMDD:)

INTO :NO_DAYS

; FROM DUAL

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

لاحظ ان ال 'YYYYMMDD' هي الفورمات المستخدمة في تخزين التاريخ ..

يعني اذا انت تخزن التاريخ في الداتابيز بهذا الشكل 20070819

تكون الفورمات 'YYYYMMDD'

واذا تخزنها 19082007

تكون الفرمات 'DDMMYYYY'

واذا تستخدم ال DEFAULT FORMAT للتاريخ بتكون الفورمات 'DD-MON-YY' ..

أتمنى اني أكون أفدتك أخي الكريم ..

وأي استفسار حاضرين :) ..

تحياتي ..

تم تعديل هذه المشاركة بواسطة Hisham-OCP في 19 أغسطس 2007 في 16:13

هذا الموضوع مغلق.

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

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

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

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

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