Rumah >pangkalan data >tutorial mysql >Mengapakah pertanyaan julat tarikh klausa `ANTARA` MySQL saya tidak mengembalikan hasil?
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!