Memastikan Perbandingan Masa Tarikh Tepat dalam SQLite
SQLite menggunakan perwakilan berangka untuk tarikh dan masa, berdasarkan sistem Julian Day. Ini memerlukan pertimbangan yang teliti terhadap storan dan pemformatan data untuk menjamin perbandingan yang tepat.
Mari kita periksa isu yang berpotensi:
<code class="language-sql">SELECT * FROM table_1 WHERE mydate >= '1/1/2009' AND mydate < '5/5/2005';</code>
Pertanyaan ini membandingkan medan mydate
dengan rentetan tarikh. Walau bagaimanapun, format storan tarikh dalaman SQLite ialah YYYYMMDD. Oleh itu, '1/1/2009' dan '5/5/2005' masing-masing ditafsirkan sebagai '20010101' dan '20050505', yang membawa kepada keputusan yang salah.
Untuk perbandingan masa tarikh yang boleh dipercayai dalam SQLite, amalan yang disyorkan ialah menyimpan tarikh dalam format YYYYMMDD. Ini memastikan perbandingan langsung berangka, mencegah ralat penukaran dan menjamin ketepatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Perbandingan Masa Tepat dalam SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!