بتاريخ: 26 ديسمبر 200718 سنة comment_119146 السلام عليكم ورحمة الله وبركاتهطلبي هوأريد أن أبني جملة SELECT يكون مخرجاتها جميع التواريخ بين تارخين معينينيعني مثلا بين 1/11/2007 الى 1/12/2007 يعطيني جميع التواريخ بينهمبشرط حذف التواريخ التي ترافق يوم الجمعهفكرت فيها بس ما عرفت كيف أعملهايا ريت مساعدهتحيتي تقديم بلاغ
بتاريخ: 26 ديسمبر 200718 سنة comment_119186 select * from table_name where date between('01-nov-2007' and '01-dec-2007') 'and to_char(date,'day')<>'friday' تقديم بلاغ
بتاريخ: 26 ديسمبر 200718 سنة comment_119204 select to_char ( trunc(sysdate,'month') + rownum-1 , 'dd-mm-yyyy' ) Month_days from emp,dept where trunc(sysdate,'month')+ rownum-1 <= last_day(sysdate); emp,dept is used only to generate the rows for rownum. emp contains 14 rows and dept contains 4 rows so that total of 56 rows can be generated with the product of these two tables هذا رد وجدته فى موضوع مشابه لموضعك فى منتدى اجنبى ....... و لكن الاجابة الافضل هى أجابة أخى asd202 تم تعديل 26 ديسمبر 200718 سنة بواسطة hanyfreedom تقديم بلاغ
بتاريخ: 27 ديسمبر 200718 سنة كاتب الموضوع comment_119213 بسم اللهبداية شكرا لكل من رد عليأآول شي ردي محمد سعيد وهو سؤال مربط الفرسهو انني ليس عندي جدول لاستراجع اي تاريخ ماأي القصد أنا أريده من الجدول dual وليس كما ذُكر في رد الاخوه تقديم بلاغ
بتاريخ: 27 ديسمبر 200718 سنة comment_119250 بسيطة غير كلمة TABLE NAME--------->DUALDATE--------------->SYSDATEوذلك فى الكود السابق تقديم بلاغ
بتاريخ: 27 ديسمبر 200718 سنة comment_119263 مرحباممكن تجرب هذا الكود . هذا الكود يقوم بأخذ تاريخين ويتم اظهار التواريخ التي يكون فيها اليوم الجعة.هذا الكود قم بوضعه في فورم. كـود SQL declarex varchar2(100);i number;startdate date;enddate date;endloop number;beginstartdate := sysdate;enddate := sysdate + 10 ;endloop := enddate - startdate;message(endloop);message(endloop);for i in 0..endloop loopselect to_char(startdate + i , 'dd')into xfrom dual;message(x);if x = 'ÇáÎãíÓ' then message('friday'); message('friday');end if;end loop ;end;بالتوفيق تقديم بلاغ
بتاريخ: 30 ديسمبر 200718 سنة كاتب الموضوع comment_119387 بداية شكرا للجميعثانيا بالنسبه لرد الاخ ASD اذا وضعنا جملة ال SQL كما وضعتها انت تخرج النتائج غير صحيحهبالنسبه للاخ DIYA انا كنت بدي يكون في ال SQLع كل حال انا وجدت حل بإنشاء جدول نسميه مثلا INTEGERSوانخزن فيه ارقام من مثلا 0 الى 360 حسب الحاجهبعدين نكتب جملة ال SQL التاليه select TO_DATE('02/09/2007','DD/MM/YYYY') + i from integers where TO_DATE('02/09/2007','DD/MM/YYYY') + i <= TO_DATE('20/12/2007','DD/MM/YYYY'); تحيتي للجميع تقديم بلاغ
بتاريخ: 3 يناير 200818 سنة كاتب الموضوع comment_119675 تكرم أخيبداية الفكره في الحل هو اننا نعمل loop بس بطيرقه غير مباشرهوكل الذي فعلته هو إنشاء جدول اسمه integers على سبيل المثالهذا الجدول يتكون من حقل واحد وهو iفي هذا الحقل خزنت فيه ارقام من 1 الى 360 لان حاجتي لإسترجاع بين تاريخين لن تتعدى سنهوبعد ذلك كتبت الquery في اعلى ردي وإشتغل تمامأي إستفسار حاضرين احنا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.