Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan SQLite Saya Mengembalikan Semua Tarikh Walaupun Menggunakan Klausa ANTARA?

Mengapa Pertanyaan SQLite Saya Mengembalikan Semua Tarikh Walaupun Menggunakan Klausa ANTARA?

Patricia Arquette
Lepaskan: 2025-01-13 10:49:42
asal
531 orang telah melayarinya

Why Does My SQLite Query Return All Dates Despite Using a BETWEEN Clause?

Mengapa pertanyaan SQLite mengabaikan syarat julat tarikh?

Penerangan masalah:

Apabila menanyakan rekod dalam julat tarikh tertentu menggunakan pangkalan data SQLite, hasilnya mengandungi semua tarikh, malah tarikh di luar julat yang ditentukan. Pernyataan pertanyaan yang digunakan adalah seperti berikut:

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "11/1/2011" AND "11/8/2011";</code>
Salin selepas log masuk

Punca masalah:

Masalahnya ialah format tarikh. SQLite memerlukan tarikh dalam format YYYY-MM-DD (contohnya, "2011-11-01" hingga "2011-11-08"). Walau bagaimanapun, format tarikh yang disediakan dalam pertanyaan ialah "MM/DD/YYYY".

Apabila melaksanakan pertanyaan, SQLite mentafsir rentetan tarikh sebagai teks dan bukannya tarikh. Oleh itu, ia mengabaikan syarat tarikh dan mendapatkan semula semua baris dalam jadual "ujian" tanpa mengira nilai tarikh sebenar.

Penyelesaian:

Untuk menyelesaikan isu ini, tukar rentetan tarikh kepada format YYYY-MM-DD:

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "2011-11-01" AND "2011-11-08";</code>
Salin selepas log masuk

Dengan menggunakan format tarikh yang betul, SQLite boleh menilai keadaan dengan betul dan mengehadkan keputusan kepada rekod dalam julat tarikh yang ditentukan.

Atas ialah kandungan terperinci Mengapa Pertanyaan SQLite Saya Mengembalikan Semua Tarikh Walaupun Menggunakan Klausa ANTARA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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