الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

اريد معرفة كم خميس وجمعة والأيام العادية بين التاريخين المدخلين

Featured Replies

بتاريخ:

السلام عليكم
اخواني الكرام ابغى ادخل تاريخين ويطلعلي كم خميس وجمعة وايام عادية بينهم
مثلا

لو ادخلت التاريخ من 17/07/2010 الى 07/08/2010 فيكون عدد
الخميس = 3
الجمعة = 3
ايام عادية = 15
وهكذا

ارجوا منكم المساعدة وشكرا

بتاريخ:
  • كاتب الموضوع

مشكور على المشاركة ولكن مالقيت ضالتي

انا عندي في الفورمة معرف FROM DATE و TO DATE

واريد لما ادخل التاريخين يقوم بإعطائي المطلوب

بتاريخ:

اتفضل دي فورمه عملتهالك هي بطلع النتائج مظبوط انا جربتها من تاريخ 1/7/2010 لغايه يوم 1/10/2010 ظبطت معايا
بس مضمنش ان كل التواريخ هتظبط بنسبه 100%
ملحوظه انت لو اخترت التاريخ يوم 1/7/2010 وصادف ان اليوم دا يوم خميس مش هتحسب الخميس دا هتحسب من الخميس اللي بعده وكذلك يوم الجمعه

ولو فيها حاجه غلط ومعرفتش تظبطها ابعتلي واعدلهاك ان شاء الله

MODULE1.rar

تم تعديل بواسطة HELL-BOY

بتاريخ:

CREATE OR REPLACE Function HR.FriDayCNT2(d1 in date,d2 in date) return number
as
FridayNO number;
DStart Date :=d1;
begin
FridayNO :=0;
if trim(to_char(DStart,'day')) = 'friday' then
 FridayNO :=FridayNO +1;
 DStart:=DStart+1;
  end if;

while d2-DStart >=7
loop
select next_day(DStart,'friday')
into DStart
from dual;  
FridayNO :=FridayNO +1;

end loop ;
 return FridayNO;
end FriDayCNT2;

بتاريخ:

this function returns fridays
u can usr it to return any number of any days between two dates

بتاريخ:
  • كاتب الموضوع

اخي الفورمة تبعك 10G
وفورمتي 6I

ماقدرت اشوف الكود المكتوب

بتاريخ:

دا procedure بيطلع النتيجة اللي انت عيزها ان شاء الله
بالإضافة لجملة لإختباره

CREATE OR REPLACE Procedure HR.DaysCNT(d1 in date,d2 in date ,WCNT out number,FCNT out number ,NCNT out number)
as
DStart Date :=d1;
begin
WCNT:=0;
FCNT:=0;
NCNT:=0;
while DStart <= d2
loop
if trim(to_char(DStart,'day')) = 'wednesday' then
WCNT :=WCNT +1;
elsif trim(to_char(DStart,'day')) = 'friday' then
FCNT:=FCNT+1;
else
NCNT :=NCNT+1;
end if;
DStart:=DStart+1;
end loop ;
end DaysCNT;
/
declare 
w number;
f number;
n number;
begin 
dayscnt(sysdate-5,sysdate,w,f,n);
dbms_output.put_line(w||'=='||f||'=='||n);
end; 

بتاريخ:

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

بتاريخ:
  • كاتب الموضوع

يا اخواني هذه الاكواد والرموز والله ما افهمها
ما اعرف فين اكتبه _ في اي ترقر ) ولمااعمل كمبايل يكلعلي 100 خطء
معليش حتعبكم معايا

بتاريخ:
  • كاتب الموضوع

اخواني في عندي مشكلة اخرى بس دلوني علي الحل
انا ابغى اسوي ماستر وديتيلز بس ابغى الديتيلز من نوع متعدد الصفوف

يعني مثلا

رقم الطالب واسمه وعمر وجنسة وجنسيتة ( ماستر)

و الديتيلز هو

من تاريخ الى تاريخ التقدير الاستاذ
07/01/2010 07/01/2010 ممتاز محمد
07/01/2010 08/01/2010 جيد أحمد

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

ارجوا المساعدة

بتاريخ:
  • كاتب الموضوع

اخواني ارجوا منكم المساعدة في موضوع الخميس والجمعة

بتاريخ:

جرب هذا الكود وإن شاء الله ينفع معاك

SELECT   DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),
                'Thu', 'Thursday','Fri', 'Friday','Another Days') DAY, COUNT (*) num
   FROM all_objects
  WHERE ROWNUM < :to_dat - :from_dat
GROUP BY DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),
                'Thu', 'Thursday','Fri', 'Friday','Another Days')
ORDER BY 1 DESC

تم تعديل بواسطة أحمد جادو

بتاريخ:
  • كاتب الموضوع

أخي ارجوك وين اكتب هذا الكود في اي ترقر وفي اي ايتم

وانا حاولت لكن يعطيني خلل داخلي ora-00600

انا حبعت الفورمة والجدول وارجوك تساعدني

انا كتبت الكود تبعك في to_date في ترقر key next item

انته شوفوا وارجوانك تساعدني انا متأخر كثير بسببه

DOC_V.rar

بتاريخ:

عذراً على التأخير قم بوضع هذا الكود مع تغيير اسم الحقل في into clause

SELECT num
into :field_for_Thu
 FROM (SELECT   DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3) days,
                COUNT (*) num
           FROM all_objects
          WHERE ROWNUM < :to_dat - :from_dat
       GROUP BY DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3))
WHERE days = 1;
SELECT num
into :field_for_Fri
 FROM (SELECT   DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3) days,
                COUNT (*) num
           FROM all_objects
          WHERE ROWNUM < :to_dat - :from_dat
       GROUP BY DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3))
WHERE days = 2;
SELECT num
into :field_for_Other
 FROM (SELECT   DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3) days,
                COUNT (*) num
           FROM all_objects
          WHERE ROWNUM < :to_dat - :from_dat
       GROUP BY DECODE (TO_CHAR (:from_dat + ROWNUM - 1,'Dy','nls_date_language=english'),'Thu', 1,'Fri', 2,3))
WHERE days = 3;

بتاريخ:
  • كاتب الموضوع

خي الفاضل جربته وكل شي تمام لكن بيعطيني

ora-00600 internal error code

وانا اتوقع ان هذا الخطاْ بسبب FROM all_objects

وانا ما ادري وين ينكتب في اي ترفقر وفي اي ايتم


ارجوا الافادة وانا حرفق لك الملف ثاني مرة

ومشكوووور

DOC_V.rar

بتاريخ:
  • كاتب الموضوع

خي الفاضل جربته وكل شي تمام لكن بيعطيني

ora-00600 internal error code

وانا اتوقع ان هذا الخطاْ بسبب FROM all_objects

وانا ما ادري وين ينكتب في اي ترفقر وفي اي ايتم


ارجوا الافادة وانا حرفق لك الملف ثاني مرة

ومشكوووور

DOC_V.rar

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.