Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Data MySQL Dengan Betul Dalam Julat Tarikh Tertentu?

Bagaimana untuk Mengambil Data MySQL Dengan Betul Dalam Julat Tarikh Tertentu?

Patricia Arquette
Patricia Arquetteasal
2024-11-20 16:22:16253semak imbas

How to Correctly Retrieve MySQL Data Within a Specific Date Range?

Mengambil Data Antara Dua Tarikh dalam MySQL

Apabila berurusan dengan nilai datetime dalam MySQL, adalah penting untuk mempertimbangkan lalai tengah malam untuk format tarikh pendek . Ini boleh membawa kepada hasil yang tidak dijangka apabila menanyakan data dalam julat tarikh.

Sebagai contoh, jika anda ingin memilih rekod yang lajur create_at berada di antara '2011-12-01' dan '2011-12-06, ' menggunakan pertanyaan berikut:

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

mungkin tidak mengembalikan hasil yang diingini. Ini kerana format tarikh pendek secara tersirat mentafsir masa sebagai tengah malam.

Untuk membetulkan isu ini, laraskan pertanyaan untuk menggunakan '2011-12-07' sebagai sempadan atas:

SELECT `users`.*
FROM `users`
WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'

Sebagai alternatif, anda boleh menggunakan fungsi date_add() MySQL atau operator BETWEEN untuk mencapai perkara yang sama hasil:

SELECT `users`.*
FROM `users`
WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.*
FROM `users`
WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)

Dengan mempertimbangkan tafsiran tengah malam lalai bagi format tarikh pendek, anda boleh mendapatkan semula data dengan tepat dalam julat tarikh yang ditentukan dalam MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Data MySQL Dengan Betul Dalam Julat Tarikh Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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