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

سؤال عن الـ Date

Featured Replies

بتاريخ:

السلام عليكم :D

عندي View

CREATE OR REPLACE VIEW summaries AS (
 SELECT iid, iname, idesc, iprice, solddate
   FROM items WHERE solddate+31 < SYSDATE
);



اللي ابغى اسويه اني ابغى اعرض السلع اللي بعتها الشهر الماضي ؟ فالمشكله اني مااعرف كيف اطرح واحد من عدد الشهور لاظهار النتيجه بشكل صحيح .. هل من حل ؟

بتاريخ:

عليكم السلام
انا اقترح انك تسخدم الدالة months_between

where trunc(months_between(solddate,sysdate)) =1

تحياتي

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

السلام عليكم :D

مشكور على الرد لكن يوجد توضيح و هو عند عمليه الطرح راح يكون الناتج 1- و ليس 1

فقمت بالتعديل عليه :D

CREATE OR REPLACE VIEW summaries AS (
 SELECT iid, iname, idesc, iprice, solddate
   FROM items WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, solddate)) = 1
);

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

بعد التعديل على الكود

اتضح ان الكود التالي هو المطلوب و ان شاء الله الناس تستفيد من تجاربنا :D

CREATE OR REPLACE VIEW summaries AS (
 SELECT iid, iname, idesc, iprice, solddate
   FROM items WHERE MONTHS_BETWEEN(ROUND(SYSDATE, 'MONTH'), solddate) <= 1 AND MONTHS_BETWEEN(ROUND(SYSDATE, 'MONTH'), solddate) >= 0
);



طبعاً راح يعطيك البيانات كامله للشهر الفائت بالكامل

  • بعد 2 أسابيع...
بتاريخ:
بعد التعديل على الكود

اتضح ان الكود التالي هو المطلوب و ان شاء الله الناس تستفيد من تجاربنا  :)

CREATE OR REPLACE VIEW summaries AS (
  SELECT iid, iname, idesc, iprice, solddate
    FROM items WHERE MONTHS_BETWEEN(ROUND(SYSDATE, 'MONTH'), solddate) <= 1 AND MONTHS_BETWEEN(ROUND(SYSDATE, 'MONTH'), solddate) >= 0
);



طبعاً راح يعطيك البيانات كامله للشهر الفائت بالكامل


مرحبا الأخ صلاح
بعد أن جربت كودك النهائي لهذا الموضوع كانت النتائج خطأ عند احتمالات متعددة وضعها أنا كأمثلة
أعتقد الكود يوجد فيه خلل : لو وضعت التاريخ الحالي بعد منتصف الشهر يعني 17/5/2004 مثلا فهو سيقرب ليس لأول الشهر الحالي بل لأول الشهر التالي1/6/2004 ... مما ينتج خطأ في قيمة Round

أعتقد هذا هو الحل :
CREATE OR REPLACE VIEW summaries AS (
SELECT iid, iname, idesc, iprice, solddate
FROM items
WHERE
(to_number(to_char(sysdate,'MM'))-TO_NUMBER(TO_CHAR(solddate,'MM'))=1
AND TO_CHAR(SYSDATE,'YYYY')=TO_CHAR(solddate,'YYYY')
OR(TO_CHAR(solddate,'MM'))='12'
AND TO_CHAR(SYSDATE,'MM')='1'
AND TO_NUMBER(TO_CHAR(SYSDATE,'YYYY'))=TO_NUMBER(TO_CHAR(solddate,'YYYY'))+1;
)

وللجميع تحياتي
ولكم شكري

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

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

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

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

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

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.