انتقل إلى محتوى الدرس

Adding Intervals with DATE ADD إضافة وطرح الفترات الزمنية

تعلّم دوال التاريخ والوقت وحساب الفروق الزمنية وتنسيقها في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لحساب تاريخ انتهاء الاشتراك أو موعد الاستحقاق بدقة تراعي اختلاف عدد أيام الشهور والسنوات الكبيسة، نستخدم دوال الحساب الزمني مع الكلمة المفتاحية INTERVAL:

  • دالة الإضافة DATE_ADD(date, INTERVAL expr unit): تضيف فترة زمنية محددة مثل INTERVAL 7 DAY أو INTERVAL 3 MONTH أو INTERVAL 1 YEAR إلى التاريخ.
  • دالة الطرح DATE_SUB(date, INTERVAL expr unit): تطرح الفترة الزمنية المحددة من التاريخ (مثلاً جلب طلبات آخر 30 يوماً).
  • دالة LAST_DAY(date): تعيد تاريخ آخر يوم في الشهر تلقائياً.
SQL
SELECT
  subscription_id,
  start_date,
  DATE_ADD(start_date, INTERVAL 1 YEAR) AS expires_on,
  DATE_SUB(CURDATE(), INTERVAL 30 DAY) AS thirty_days_ago,
  LAST_DAY(start_date) AS billing_month_end
FROM subscriptions;