تعيد الدالة DATEDIFF الفرق بين جزأي التاريخ في قيمتين، وتتجاهل جزء الوقت فيهما. تحسب التاريخ الأول ناقص التاريخ الثاني، وتعيد عددًا صحيحًا يمثل فرق الأيام التقويمية. لذلك لا يمكن تفسير نتيجتها دائمًا على أنها عدد فترات الأربع والعشرين ساعة التي انقضت بين لحظتين.
إذا وقعت لحظتان على جانبي منتصف الليل، فقد يكون الفاصل بينهما دقائق قليلة، ومع ذلك يكون فرق التاريخين يومًا واحدًا. وعلى العكس، قد يفصل بين لحظتين ساعات كثيرة في اليوم نفسه فتكون النتيجة صفرًا. هذا السلوك مناسب لأسئلة تعتمد على أيام التقويم، لكنه يحتاج إلى انتباه عند قياس المدة الفعلية لخدمة أو حدث.
مثال
SELECT DATEDIFF('2026-05-02 00:05:00', '2026-05-01 23:55:00') AS days;
يعيد المثال يومًا واحدًا رغم أن الفاصل الزمني عشر دقائق فقط. كما أن عكس ترتيب الوسيطين يعكس إشارة النتيجة.
باختصار: تقارن DATEDIFF التاريخين دون الوقت، وتطرح الوسيط الثاني من الأول، فلا تستخدمها لعد فترات الأربع والعشرين ساعة المكتملة.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.