Bagaimana untuk memilih data dengan betul antara dua tarikh dalam MySQL?

Barbara Streisand
Lepaskan: 2024-11-24 16:04:43
asal
216 orang telah melayarinya

How to Correctly Select Data Between Two Dates in MySQL?

Memilih Data Antara Dua Tarikh dalam MySQL

Apabila bekerja dengan data tarikh dan masa dalam MySQL, adalah perkara biasa untuk perlu memilih data yang termasuk dalam julat tarikh tertentu . Walau bagaimanapun, apabila menggunakan lajur create_at sebagai nilai datetime, tafsiran lalai ialah tengah malam untuk tarikh pendek.

Masalah:

Anda mungkin menghadapi situasi di mana pertanyaan seperti yang berikut tidak mengembalikan baris, walaupun baris create_at timestamp jatuh dalam tarikh yang ditentukan julat:

SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
Salin selepas log masuk

Penyelesaian:

Isunya ialah pertanyaan sebenarnya memilih data dengan julat dari '2011-12-01 00:00:00 ' hingga '2011-12-06 00:00:00'. Untuk membetulkannya, terdapat beberapa pendekatan:

  • Lanjutkan julat tarikh tamat: Tukar pertanyaan untuk menggunakan julat berikut:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
Salin selepas log masuk
  • Gunakan DATE_ADD (): Kira tarikh tamat dengan menambah satu hari pada akhir asal tarikh:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= DATE_ADD('2011-12-01', INTERVAL 7 DAY)
Salin selepas log masuk
  • Gunakan operator BETWEEN untuk kebolehbacaan:
SELECT `users`.* FROM `users` WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))
Salin selepas log masuk

Menggunakan mana-mana pendekatan ini akan memilih data dengan betul yang termasuk dalam yang ditentukan julat tarikh, termasuk baris dengan cap masa create_at seperti '2011-12-06 10:45:36'.

Atas ialah kandungan terperinci Bagaimana untuk memilih data dengan betul antara dua tarikh dalam MySQL?. 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