الانتقال إلى المحتوى
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.

مشكلة في بناء جملة Select

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
طلبي هو
أريد أن أبني جملة SELECT يكون مخرجاتها جميع التواريخ بين تارخين معينين
يعني مثلا بين 1/11/2007 الى 1/12/2007 يعطيني جميع التواريخ بينهم
بشرط حذف التواريخ التي ترافق يوم الجمعه
فكرت فيها بس ما عرفت كيف أعملها
يا ريت مساعده
تحيتي

بتاريخ:

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

بتاريخ:

select * from table_name where date between('01-nov-2007' and '01-dec-2007')
'and to_char(date,'day')<>'friday'

بتاريخ:

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

تم تعديل بواسطة hanyfreedom

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

بسم الله
بداية شكرا لكل من رد علي
أآول شي ردي محمد سعيد وهو سؤال مربط الفرس
هو انني ليس عندي جدول لاستراجع اي تاريخ ما
أي القصد أنا أريده من الجدول dual وليس كما ذُكر في رد الاخوه

بتاريخ:

بسيطة غير كلمة
TABLE NAME--------->DUAL
DATE--------------->SYSDATE
وذلك فى الكود السابق

بتاريخ:

مرحبا

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

هذا الكود قم بوضعه في فورم.

كـود SQL

declare
x varchar2(100);
i number;
startdate date;
enddate date;
endloop number;
begin
startdate := sysdate;
enddate := sysdate + 10 ;
endloop := enddate - startdate;
message(endloop);
message(endloop);
for i in 0..endloop loop
select to_char(startdate + i , 'dd')
into x
from dual;
message(x);
if x = 'ÇáÎãíÓ' then
message('friday');
message('friday');
end if;

end loop ;
end;

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

بداية شكرا للجميع
ثانيا بالنسبه لرد الاخ 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');



تحيتي للجميع

بتاريخ:

شكرا لك. اشكرك على افادتنا ممكن توضح اكتر



شكرا

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

تكرم أخي
بداية الفكره في الحل هو اننا نعمل loop
بس بطيرقه غير مباشره
وكل الذي فعلته هو إنشاء جدول اسمه integers على سبيل المثال
هذا الجدول يتكون من حقل واحد وهو i
في هذا الحقل خزنت فيه ارقام من 1 الى 360
لان حاجتي لإسترجاع بين تاريخين لن تتعدى سنه
وبعد ذلك كتبت الquery في اعلى ردي وإشتغل تمام
أي إستفسار حاضرين احنا

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

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

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

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

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

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.