Rumah >pangkalan data >tutorial mysql >Mengapakah pertanyaan julat tarikh klausa `ANTARA` MySQL saya tidak mengembalikan hasil?

Mengapakah pertanyaan julat tarikh klausa `ANTARA` MySQL saya tidak mengembalikan hasil?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 18:18:09630semak imbas

Why is my MySQL `BETWEEN` clause date range query returning no results?

Selesaikan masalah pertanyaan julat tarikh MySQL

Artikel ini meneroka masalah biasa yang dihadapi semasa menggunakan MySQL untuk menanyakan julat tarikh tertentu. Pernyataan pertanyaan berikut:

<code class="language-sql">SELECT * FROM `objects` 
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')</code>

Walaupun terdapat data dalam pangkalan data yang memenuhi syarat, pernyataan itu tidak dapat mengembalikan sebarang hasil.

Masalahnya ialah susunan tarikh dalam klausa BETWEEN. Tarikh kedua ('2010-01-30 14:15:55') lebih awal daripada tarikh pertama ('2010-09-29 10:15:55'), menghasilkan julat tarikh yang dijana di mana tiada data sebenarnya wujud . Untuk membetulkan ini, hanya terbalikkan susunan tarikh:

<code class="language-sql">SELECT *
FROM `objects`
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')</code>

Dengan cara ini, pertanyaan akan mencari objek dengan nilai date_field antara 29 September 2010 dan 30 Januari 2010, sekali gus mendapat hasil yang diharapkan.

Untuk maklumat lanjut, sila rujuk dokumentasi MySQL rasmi: https://www.php.cn/link/4c74dcfeac90df69aed5c8a90125e696

Atas ialah kandungan terperinci Mengapakah pertanyaan julat tarikh klausa `ANTARA` MySQL saya tidak mengembalikan hasil?. 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