البرمجة

استرجاع التاريخ بثلاث فترات زمنية

في هذا الاستعلام الذي قمت بتقديمه، تحتاج إلى تحديد تاريخ واحد ثلاث مرات، كل مرة مع فترة زمنية مختلفة. لحل هذه المشكلة، يمكنك استخدام دالة CASE في SQL لتحديد الفترة الزمنية المناسبة لكل تاريخ. سأوضح لك كيفية القيام بذلك.

فيما يلي الاستعلام المعدل لتحقيق ما تريد:

sql
SELECT CASE WHEN t1.datefield BETWEEN TO_DATE('01/07/2016', 'dd/mm/yyyy') AND TO_DATE('31/07/2016', 'dd/mm/yyyy') THEN t1.datefield ELSE NULL END AS date_1, CASE WHEN t1.datefield BETWEEN TO_DATE('01/08/2016', 'dd/mm/yyyy') AND TO_DATE('31/08/2016', 'dd/mm/yyyy') THEN t1.datefield ELSE NULL END AS date_2, CASE WHEN t1.datefield BETWEEN TO_DATE('01/09/2016', 'dd/mm/yyyy') AND TO_DATE('30/09/2016', 'dd/mm/yyyy') THEN t1.datefield ELSE NULL END AS date_3 FROM table t1 WHERE t1.datefield BETWEEN TO_DATE('01/07/2016', 'dd/mm/yyyy') AND TO_DATE('30/09/2016', 'dd/mm/yyyy')

في هذا الاستعلام، يتم استخدام دالة CASE لفحص كل تاريخ (t1.datefield) وتحديد ما إذا كان يقع ضمن الفترة الزمنية المحددة. إذا كان الشرط صحيحًا، فإن القيمة المعادة هي التاريخ نفسه، وإلا فإن القيمة المعادة هي NULL. ويتم تسمية كل تاريخ وفقًا للفترة الزمنية التي ينتمي إليها.

عليك أن تلاحظ أنني قمت بتغيير شروط WHERE أيضًا لضمان أننا نسترجع البيانات فقط من يوليو إلى سبتمبر.

هذا الاستعلام يقدم لك ثلاث حقول تاريخية، حيث يحمل كل منها قيمة تاريخية وفقًا للفترة الزمنية التي حددتها.

المزيد من المعلومات

بالطبع، دعني أوسع الشرح لتوضيح المفاهيم بشكل أفضل.

عندما تحتاج إلى استرداد نفس الحقل (في هذه الحالة حقل التاريخ) بقيم مختلفة وفقاً لشروط مختلفة، فإن استخدام دالة CASE في SQL يصبح ضرورياً. هذه الدالة تسمح لك بتقييم مجموعة من الشروط وإرجاع قيم مختلفة بناءً على الشرط المتوافق.

في الاستعلام الذي قدمته، استخدمت دالة CASE لكل تاريخ (datefield) لتحديد ما إذا كان ينتمي إلى الفترة الزمنية المطلوبة أم لا، ثم تم اختيار التاريخ نفسه إذا كان ينطبق الشرط، وإلا فإن القيمة المعادة هي NULL.

على سبيل المثال، للحصول على date_1، تحققت من أن t1.datefield تقع بين 1 يوليو و 31 يوليو. إذا كان الشرط صحيحاً، فإن القيمة المعادة هي t1.datefield نفسه. ولكن إذا كان الشرط غير صحيح، فإن القيمة المعادة هي NULL. وهذا يساعدك في الحصول على النتائج المرغوبة في تنسيق مناسب.

يعتبر الاستعلام النهائي مرنًا ويوفر لك القدرة على استرجاع البيانات بالطريقة التي تحتاجها، مما يسهل عليك التعامل مع البيانات بشكل فعال وفقاً لمتطلباتك المحددة.

باستخدام هذا النهج، يمكنك الآن بسهولة اختيار نفس الحقل (datefield) بثلاث قيم مختلفة وفقاً للفترات الزمنية التي تحددها، مما يسهل عليك عمليات التحليل والتقرير والتعامل مع البيانات بشكل أكثر فعالية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر