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

عند مقارنة التواريخ مع DATE_FORMAT الخاص بـ MySQL، لماذا يعد استخدام نفس التنسيق أمرًا بالغ الأهمية؟

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

When Comparing Dates with MySQL\'s DATE_FORMAT, Why Is Using the Same Format Crucial?

مقارنة التاريخ مع MySQL DATE_FORMAT

عند مقارنة التواريخ باستخدام وظيفة DATE_FORMAT في MySQL، من المهم أن نفهم أن التنسيق الذي تختاره يؤثر على نتيجة المقارنة .

في المثال المحدد، يحتوي الجدول على تواريخ منسقة كـ '%d-%m-%Y'، ويحاول الاستعلام مقارنتها باستخدام نفس التنسيق. ومع ذلك، يؤدي هذا إلى نتائج غير صحيحة لأن "28-10-2012" أكبر من الناحية المعجمية من "02-11-2012".

لحل هذه المشكلة، يوصى بمقارنة التواريخ كتواريخ بدلاً من سلاسل. يجب أن يكون الاستعلام الصحيح:

select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';
هنا، تقوم وظيفة date() باستخراج مكون التاريخ من حقل وقت البدء، بينما يحدد التاريخ '2012-11-02' المقارنة التاريخ في شكل قيمة شهر-سنة. وهذا يضمن إجراء المقارنة بشكل صحيح كتواريخ.

إذا كان وقت البدء هو حقل DATETIME، ففكر في استخدام الاستعلام التالي لتجنب التحويل المتكرر:

select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';
بشكل عام، يُنصح باستخدام معيار ISO-8601 لتنسيق التاريخ، مثل y-M-d. ومع ذلك، توضح الاستعلامات أعلاه كيفية إجراء مقارنات التاريخ باستخدام التنسيق المقدم.

بيان الافراج يتم استنساخ هذه المقالة في: 1729739877 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3