Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan Julat Tarikh SQLite Saya Mengembalikan Keputusan Tidak Dijangka?

Mengapa Pertanyaan Julat Tarikh SQLite Saya Mengembalikan Keputusan Tidak Dijangka?

Patricia Arquette
Lepaskan: 2025-01-13 08:35:42
asal
410 orang telah melayarinya

Why Does My SQLite Date Range Query Return Unexpected Results?

Pemformatan Tarikh yang Salah Menyebabkan Masalah dalam Pertanyaan Julat Tarikh SQLite

Masalah yang kerap berlaku apabila menanyakan pangkalan data SQLite untuk data dalam julat tarikh tertentu ialah pertanyaan mengembalikan semua tarikh, mengabaikan julat yang ditentukan. Ini selalunya berpunca daripada salah tanggapan tentang format tarikh SQLite.

SQLite memerlukan tarikh dalam format YYYY-MM-DD. Pertanyaan menggunakan format lain, seperti "11/1/2011" dan "11/8/2011", dianggap sebagai rentetan teks, bukan tarikh.

Ini membawa kepada pertanyaan seperti ini berkelakuan di luar jangkaan:

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

Oleh kerana SQLite menganggap '11/1/2011' dan '11/8/2011' sebagai rentetan, operator BETWEEN membandingkannya secara leksikografik (sebagai teks). Pertanyaan akan mengembalikan mana-mana baris di mana lajur date mengandungi rentetan ini, tanpa mengira tarikh sebenar.

Penyelesaian adalah untuk memastikan semua tarikh dalam pangkalan data dan pertanyaan anda mematuhi format YYYY-MM-DD dengan ketat. Ini membolehkan SQLite mentafsir tarikh dengan betul dan mengembalikan hasil yang tepat untuk julat tarikh anda.

Atas ialah kandungan terperinci Mengapa Pertanyaan Julat Tarikh SQLite Saya Mengembalikan Keputusan Tidak Dijangka?. 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