مقارنة تاريخ MySQL مع date_format
يوفر MySQL إمكانات مقارنة التاريخ التي تمكنك من تصفية السجلات بناءً على القيود الزمنية. في حين أن تقديم التواريخ بتنسيق سهل الاستخدام باستخدام وظائف مثل date_format غالبًا ما يكون ضروريًا، إلا أنه يمكن أن يؤدي إلى تعقيدات عند الاستعلام عن نطاقات زمنية.يتضمن السيناريو الشائع مقارنة التواريخ التي تم تنسيقها باستخدام date_format، والذي يحولها إلى سلاسل. من خلال مقارنة السلاسل، قد تستبعد عن غير قصد تواريخ صالحة بسبب الترتيب الأبجدي. على سبيل المثال، عند مقارنة السلسلة "2012-10-28" مع "2012-11-02" بترتيب تصاعدي، سيتم وضع "2012-10-28" بشكل غير صحيح بعد "2012-11-02" لأن الرقم "2" في مكون اليوم أكبر عدديًا من "0" في سلسلة التاريخ الأخرى.لمعالجة هذه المشكلة والتأكد من دقة مقارنات التاريخ، من الضروري لمقارنة التواريخ بالتواريخ. يمكن تحقيق ذلك باستخدام دالة التاريخ، التي تستخرج مكون التاريخ من حقل DATETIME أو DATE، ثم مقارنة قيم التاريخ الناتجة.يوضح الاستعلام المعدل أدناه كيفية مقارنة التواريخ باستخدام دالة التاريخ:
حدد date_format(date(starttime),'%d-%m-%Y') من البيانات حيث date(starttime) >= date '2012-11-02';
select date_format(date(starttime),'%d-%m-%Y') from data where date(starttime) >= date '2012-11-02';في هذا الاستعلام، تقوم دالة date(starttime) باستخراج مكون التاريخ من حقل وقت البدء، وتتم مقارنة قيم التاريخ الناتجة باستخدام >= عامل التشغيل. وهذا يضمن استرداد التواريخ التي تقع في "02-11-2012" أو بعده فقط.
من خلال مقارنة التواريخ كتواريخ، يمكنك التغلب على قيود الترتيب الأبجدي المرتبطة بمقارنات السلسلة والتأكد من أن نتائج استعلاماتك تعكس المعايير الزمنية المقصودة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3