Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Keputusan Perbandingan Tarikh yang Salah Menggunakan DATE_FORMAT dalam MySQL?

Bagaimana untuk Menyelesaikan Keputusan Perbandingan Tarikh yang Salah Menggunakan DATE_FORMAT dalam MySQL?

Patricia Arquette
Lepaskan: 2024-10-24 12:08:29
asal
625 orang telah melayarinya

How to Resolve Incorrect Date Comparison Results Using DATE_FORMAT in MySQL?

Perbandingan Tarikh MySQL dengan DATE_FORMAT: Menyelesaikan Isu

Soalan:

Apabila membandingkan tarikh menggunakan fungsi DATE_FORMAT, a pengguna menemui hasil yang tidak dijangka, dengan rekod sebelum tarikh perbandingan muncul dalam keputusan. Bagaimanakah isu ini boleh diselesaikan?

Analisis:

Masalah berpunca daripada membandingkan tarikh sebagai rentetan dan bukannya nilai tarikh sebenar mereka. DATE_FORMAT menukar tarikh kepada rentetan, yang kemudiannya dibandingkan secara leksikografik, membawa kepada keputusan yang salah.

Penyelesaian:

Untuk membandingkan tarikh dengan tepat, pertanyaan harus membandingkan nilai tarikh secara langsung, menggunakan fungsi DATE() untuk mengekstrak maklumat tarikh sahaja. Pertanyaan yang diubah suai berikut menyelesaikannya:

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

Dalam pertanyaan ini:

  • tarikh(masa mula) mengekstrak bahagian tarikh daripada lajur masa mula.
  • tarikh ' 2012-11-02' ialah tarikh perbandingan contoh dalam format standard ISO-8601 (yyyy-mm-dd).

Dengan membandingkan tarikh secara langsung, pertanyaan menapis rekod dengan berkesan pada tarikh tersebut. sebelum '2012-11-02'.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Keputusan Perbandingan Tarikh yang Salah Menggunakan DATE_FORMAT dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan