عليك استخدام الجملة الشرطية "BETWEEN" مع التواريخ المحددة:
SELECT *
FROM اسم_الجدول
WHERE اسم_الحقل_الذي_تريد_البحث_بناءً_عليه
BETWEEN '2017-05-10' AND '2023-05-10';
ويجب استبدال "اسم_الجدول" بالجدول الذي تريد البحث فيه و "اسم_الحقل_الذي_تريد_البحث_بناءً_عليه" بالحقل الذي تريد البحث فيه، واستبدال التواريخ '2017-05-10' و '2023-05-10' بالتواريخ التي ترغب في البحث بينها.
أو استخدام دالة DATE_FORMAT()، حيث تستقبل الدالة تاريخًا كوسيطة وتعيد التاريخ بتنسيق نصي محدد، أي لطباعة تاريخ 10-5-2017 بتنسيق "yyyy-mm-dd"، نستخدم الاستعلام التالي:
SELECT DATE_FORMAT(date, '%Y-%m-%d')
FROM table;
والنتيجة هي:
2017-05-10
ولطباعة التواريخ من تاريخ إلى تاريخ آخر، استخدم دالة BETWEEN()، حيث تستقبل تاريخين كوسيطة وتعيد جميع التواريخ بين هذين التاريخين، أي لطباعة جميع التواريخ من 10-5-2017 إلى 10-5-2023، نكتب الآتي:
SELECT date
FROM table
WHERE date BETWEEN '2017-05-10' AND '2023-05-10';
ولمعلوماتك أيضًا بإمكانك استخدام دالة DATEDIFF() لحساب الفرق بين تاريخين، وكمثال لحساب الفرق بين تاريخ 10-5-2017 وتاريخ 10-5-2023، عليك كتابة:
أعتقد أنه لكتابة استعلام SQL من أجل لاستخراج التقارير من قاعدة البيانات بناء على تاريخ البداية وتاريخ النهاية، مثلا يمكن استخدام الاستعلام التالي كمثال يمكن كتابته وفقا لهذه الطريقة:
SELECT * FROM اسم_الجدول
WHERE تاريخ BETWEEN '2017-05-10' AND '2023-05-10'.
لكن يجب التأكد من استبدال اسم الجدول بالاسم الصحيح لجدول البيانات الذي نرغب في استخراج التقارير منه لأنه حسب علمي العديد من المشكلات تظهر بسبب ال Duplication.
يمكن أيضا استخدام يمكنك استخدام عبارة WHERE مع معاملات مقارنة عادية. على سبيل المثال:
SELECT *
FROM your_table
WHERE your_date_column >= '2017-05-10' AND your_date_column <= '2023-05-10';
هذا الاستعلام سيستخدم العبارة WHERE لتحديد الصفوف التي تحتوي على تاريخ في العمود الذي تريد التحقق منه (`your_date_column`) والذي يكون أكبر من أو يساوي تاريخ البداية وأقل من أو يساوي تاريخ النهاية. (قم طبعا تغيير `your_table` إلى اسم الجدول الخاص بك و`your_date_column` إلى اسم العمود الذي يحتوي على التواريخ.)