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

Mengapa Pertanyaan Julat Tarikh SQLite Saya Menggunakan ANTARA Mengembalikan Semua Tarikh?

Barbara Streisand
Lepaskan: 2025-01-13 11:17:43
asal
793 orang telah melayarinya

Why Does My SQLite Date Range Query Using BETWEEN Return All Dates?

Menyelesaikan Masalah Julat Tarikh SQLite Pertanyaan

Isu pertanyaan SQLite biasa melibatkan penggunaan operator BETWEEN dengan tarikh dalam format "MM/DD/YYYY", tanpa diduga mengembalikan semua tarikh dan bukannya julat yang dikehendaki.

Masalahnya: Pemformatan Tarikh Tidak Betul

SQLite memerlukan tarikh untuk diformatkan sebagai "YYYY-MM-DD". Jika pangkalan data atau pertanyaan anda menggunakan format yang berbeza (seperti "MM/DD/YYYY"), SQLite menganggap tarikh sebagai rentetan, yang membawa kepada hasil yang salah—selalunya memilih setiap tarikh dalam jadual.

Penyelesaian: Pemformatan Tarikh Konsisten

Pembetulan adalah mudah: pastikan pemformatan "YYYY-MM-DD" yang konsisten untuk semua tarikh. Anda boleh mencapai ini dalam dua cara:

  1. Pengubahsuaian Pangkalan Data: Gunakan fungsi strftime('%Y-%m-%d', date_column) untuk mengemas kini lajur pangkalan data anda kepada format yang betul.

  2. Pengubahsuaian Pertanyaan: Ubah suai pertanyaan SQL anda untuk menggunakan format yang betul secara langsung. Contohnya:

<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, klausa BETWEEN anda akan berfungsi seperti yang diharapkan, dengan tepat memilih tarikh dalam julat yang anda tetapkan.

Atas ialah kandungan terperinci Mengapa Pertanyaan Julat Tarikh SQLite Saya Menggunakan ANTARA Mengembalikan Semua Tarikh?. 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