Bagaimana untuk Mendapatkan Rekod dengan Cap Waktu Hari Ini dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-13 09:20:02
asal
796 orang telah melayarinya

How to Retrieve Records with Today's Timestamp in MySQL?

Cara Memilih Baris dengan Cap Masa Hari Semasa

Dalam sistem pengurusan pangkalan data, adalah perkara biasa untuk menyimpan cap masa untuk rekod data dijejaki apabila ia berada dicipta atau diubah suai. Walau bagaimanapun, apabila anda perlu mendapatkan semula data daripada jadual dengan cap masa, anda mungkin menghadapi cabaran dalam memilih rekod berdasarkan tarikh tertentu.

Pernyataan Masalah

Anda mempunyai pangkalan data jadual dengan lajur cap masa dan anda hanya mahu mengambil semula rekod yang telah dibuat pada hari semasa. Anda pada mulanya menggunakan pertanyaan di bawah tetapi mendapati ia mengembalikan rekod selama 24 jam yang lalu, bukan hanya tarikh hari ini:

SELECT * FROM `table` WHERE (`timestamp` > DATE_SUB(now(), INTERVAL 1 DAY));
Salin selepas log masuk

Penyelesaian

Untuk memilih baris yang mempunyai cap masa hari semasa sambil mengabaikan masa, anda boleh menggunakan pertanyaan berikut:

SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE()
Salin selepas log masuk
  • Fungsi DATE() mengembalikan bahagian tarikh cap masa, mengalih keluar maklumat masa.
  • Fungsi CURDATE() mengembalikan tarikh semasa sebagai nilai tarikh MySQL.

Amaran:

Walaupun pertanyaan ini mencapai hasil yang anda inginkan, ia mungkin tidak melaksanakan secara optimum. Menggunakan DATE() pada lajur cap masa boleh menghalang MySQL daripada menggunakan mana-mana indeks dengan cekap pada lajur itu.

Untuk penyelesaian yang lebih cekap, anda boleh mencipta lajur tarikh khusus dan menyimpan bahagian tarikh cap masa dalam lajur itu . Ini membolehkan MySQL menggunakan indeks pada lajur tarikh untuk pertanyaan yang lebih pantas.

Berikut ialah contoh cara anda boleh mencipta lajur tarikh khusus dan mengemas kini nilainya:

ALTER TABLE `table` ADD COLUMN `date` DATE NOT NULL;
UPDATE `table` SET `date` = DATE(`timestamp`);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod dengan Cap Waktu Hari Ini 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