Rumah  >  Artikel  >  pangkalan data  >  Apabila Membandingkan Tarikh dengan DATE_FORMAT MySQL, Mengapakah Menggunakan Format Yang Sama Penting?

Apabila Membandingkan Tarikh dengan DATE_FORMAT MySQL, Mengapakah Menggunakan Format Yang Sama Penting?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 14:07:30324semak imbas

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

Perbandingan Tarikh dengan MySQL DATE_FORMAT

Apabila membandingkan tarikh menggunakan fungsi DATE_FORMAT MySQL, adalah penting untuk memahami bahawa format yang anda pilih mempengaruhi hasil perbandingan .

Dalam contoh yang diberikan, jadual mengandungi tarikh yang diformatkan sebagai '%d-%m-%Y' dan pertanyaan cuba membandingkannya menggunakan format yang sama. Walau bagaimanapun, ini membawa kepada hasil yang salah kerana "28-10-2012" secara leksikografik lebih besar daripada "02-11-2012".

Untuk menyelesaikan masalah ini, adalah disyorkan untuk membandingkan tarikh sebagai tarikh dan bukannya rentetan. Pertanyaan yang betul hendaklah:

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';</code>

Di sini, fungsi date() mengekstrak komponen tarikh daripada medan masa mula, manakala tarikh '2012-11-02' menentukan tarikh perbandingan dalam nilai tahun-bulan bentuk. Ini memastikan perbandingan dilakukan dengan betul sebagai tarikh.

Jika masa mula ialah medan DATETIME, pertimbangkan untuk menggunakan pertanyaan berikut untuk mengelakkan penukaran berulang:

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';</code>

Secara amnya, anda dinasihatkan untuk menggunakan standard ISO-8601 untuk pemformatan tarikh, seperti y-M-d. Walau bagaimanapun, pertanyaan di atas menunjukkan cara melakukan perbandingan tarikh menggunakan format yang disediakan.

Atas ialah kandungan terperinci Apabila Membandingkan Tarikh dengan DATE_FORMAT MySQL, Mengapakah Menggunakan Format Yang Sama Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn