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

Calculating Date Differences حساب الفروق بدالة DATEDIFF

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

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

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

لقياس الفارق الزمني بين تاريخين أو طابعين زمنيين، يوفر MySQL دالتين متخصصتين يجب الانتباه لترتيب المعاملات في كل منهما:

  • دالة فرق الأيام DATEDIFF(expr1, expr2): تحسب ناتج الطرح expr1 - expr2 بالأيام الكاملة فقط مع تجاهل الساعات والدقائق؛ وتكون النتيجة موجبة إذا كان التاريخ الأول أحدث من الثاني.
  • دالة الفرق المحدد بالوحدة TIMESTAMPDIFF(unit, start_dt, end_dt): تحسب الفارق end_dt - start_dt بالوحدة التي تختارها مثل HOUR أو MINUTE أو MONTH أو YEAR.
SQL
SELECT
  invoice_id,
  DATEDIFF(due_date, issued_date) AS net_payment_days,
  TIMESTAMPDIFF(HOUR, created_at, shipped_at) AS fulfillment_hours,
  TIMESTAMPDIFF(YEAR, birth_date, CURDATE()) AS customer_age
FROM invoices;