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

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

صورة
- - - - -

داله تحسب عدد اليوم بين فتره


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

#1 AAZH

AAZH

    عضو مميز

  • الأعضــاء
  • 528 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Reading,Sports

تاريخ المشاركة 05 May 2009 - 03:34 PM

ياشباب أحد يعطيني داله أرسل لها تاريخين زائداً إسم يوم معين مثلاً السبت تعطيني رقماً هو عدد تكرار هذا اليوم في هذه الفتره

#2 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 05 May 2009 - 06:42 PM

السلام عليكم ورحمة الله
حاولت عمل هذه الفانشكن بإدخال اسم اليوم لكنها لم تضبط معي سوى يوم الثلاثاء لكن لاعرف لماذا
وقمت بتغييرها ولكن لازم من إدخال رقم اليوم وليس اسمه مثلا السبت يشير إلى 1 - الاحد يشير إلى 2 وهكذا
فمن يريد تعديلها كي نستطيع إدخال اليوم فليتفضلها هاهي
create or replace function day_betwwen(
date1 date,date2 date, day_enter number) return number is
day_bet number;
day_name number;
repeat number;
begin repeat:=0;
select (date2-date1) into day_bet from dual;
for i in 1..day_bet loop
select to_char((i+date1),'d') into day_name from dual;
if day_name like day_enter then
repeat:=repeat+1;
end if;
end loop;
return(repeat);
end day_betwwen;





نتيجة الاستعلام عنها

1* select day_betwwen('04/04/01','04/01/05',4) from dual SQL> /

DAY_BETWWEN('04/04/01','04/01/05',4)
------------------------------------
196

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#3 المتميز1

المتميز1

    مشترك

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

تاريخ المشاركة 06 May 2009 - 10:03 AM

السلام عليكم
انا حاولت اعدل في الفانكشن بحيث تدخل لها اليوم كتابة مثل السبت .. ان شاء الله تجربوها وتقولولي
create or replace function day_betwwen(
date1 date,date2 date,date_enter VARCHAR2) return number is
day_bet number;
day_name char(100);
repeat number;
begin repeat:=0;
select (date2-date1) into day_bet from dual;
for i in 1..day_bet loop
select to_char((i+date1),'day') into day_name from dual;
if upper(trim(day_name)) = upper(trim(date_enter)) then
repeat:=repeat+1;
end if;
end loop;
return(repeat);
end day_betwwen;

--------------------------
select day_betwwen('04/04/05','08/04/05','الاربعاء') from dual 1


#4 عبداللطيف

عبداللطيف

    مــشــرف عــام

  • الإشراف العام
  • 1,267 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 06 May 2009 - 10:21 AM

ممكن ان تستفيد من ذالك المووضوع

http://www.araboug.o...owtopic=846&hl=