مقارنة التاريخ مع 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. ومع ذلك، توضح الاستعلامات أعلاه كيفية إجراء مقارنات التاريخ باستخدام التنسيق المقدم. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3