"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حساب عدد أيام الثلاثاء بين تاريخين في TSQL؟

كيفية حساب عدد أيام الثلاثاء بين تاريخين في TSQL؟

تم النشر بتاريخ 2024-12-11
تصفح:725

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

حساب عدد أيام الثلاثاء بين تاريخين في TSQL

يعد تحديد عدد أيام الثلاثاء بين تاريخين تحديًا شائعًا في برمجة TSQL. تم توضيح أحد الأساليب الفعالة بواسطة t-clausen.dk:

لحساب مثيلات كل يوم من أيام الأسبوع:

declare @from datetime = '3/1/2013' 
declare @to datetime  = '3/31/2013' 


select 
 datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON,
 datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE,
 datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED,
 datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU,
 datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI,
 datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT,
 datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN

يُرجع هذا الاستعلام عدد مرات التكرار لكل يوم من أيام الأسبوع ضمن النطاق الزمني المحدد . تعتمد الحسابات على المبادئ التالية:

  • تحسب الدالة datediff الفرق بين تاريخين في الأيام.
  • يمثل التعبير -7 يوم الأحد الذي يسبق تاريخ البدء.
  • يمثل التعبير -6 يوم الاثنين السابق لتاريخ البدء.
  • القسمة على 7 تجمع الأيام على الأسبوع.
  • طرح عدد الأيام أيام من تاريخ البدء حتى يوم الاثنين قبل تاريخ البدء يحسب عدد الأسابيع بين تاريخي البدء والانتهاء.
  • طرح عدد الأيام من تاريخ الانتهاء حتى يوم الأسبوع السابق يحسب تاريخ الانتهاء عدد الأيام المتبقية في الأسبوع الأخير.

من خلال تطبيق هذه الطريقة، يمكنك بسهولة تحديد عدد أيام الثلاثاء أو أي يوم آخر من أيام الأسبوع ضمن نطاق زمني معين.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3