اختيار البيانات من قاعدة بيانات MySQL بين تاريخين
في MySQL، يمثل استرداد البيانات ضمن نطاق زمني محدد تحديًا شائعًا عند تخزين التواريخ كقيم التاريخ والوقت. قد لا يؤدي استخدام عوامل التشغيل >= و
ضع في اعتبارك السيناريو الذي تريد فيه تحديد السجلات حيث يقع العمود create_at بين ' 01/12/2011" و"06/12/2011". سيؤدي تشغيل الاستعلام التالي إلى استبعاد السجل المتوقع الذي حدث في '2011-12-06 10:45:36':
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atالسبب هو أن MySQL تفسر تاريخ الانتهاء على أنه منتصف الليل ('2011-12-06 00:00:00')، باستثناء السجلات التي تم إنشاؤها في وقت لاحق من ذلك اليوم . لتحديد السجل المقصود، قم بتعديل تاريخ الانتهاء إلى '2011-12-07':
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atبدلاً من ذلك، استخدم DATE_ADD() لإضافة أيام إلى تاريخ البدء، وإنشاء فاصل زمني يتضمن تاريخ الانتهاء المطلوب:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atلتحسين إمكانية القراءة، يمكن استخدام عامل التشغيل BETWEEN:
SELECT `users`.* FROM `users` WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))من خلال ضبط تاريخ الانتهاء أو استخدام وظيفة DATE_ADD()، يمكنك التحديد بدقة البيانات من النطاق الزمني المحدد، مما يضمن التقاط جميع السجلات التي تم إنشاؤها في تاريخ الانتهاء المقصود.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3