Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Membandingkan Rentetan DATE dengan Rentetan DATETIME dalam MySQL?

Bagaimana untuk Membandingkan Rentetan DATE dengan Rentetan DATETIME dalam MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 02:46:09880semak imbas

How to Compare DATE Strings with DATETIME Strings in MySQL?

Membandingkan Rentetan DATE dengan Rentetan DATETIME dalam MySQL

Anda boleh membandingkan rentetan DATE, seperti "2010-04-29", dengan nilai rentetan yang disimpan sebagai DATETIME dalam MySQL. Ini berguna apabila anda mempunyai pemilih tarikh yang menapis data dan anda ingin menanyakan jadual berdasarkan tarikh tertentu.

Untuk membandingkan rentetan DATE dengan rentetan DATETIME, anda boleh menggunakan fungsi DATE() untuk mengekstrak tarikh部分 daripada medan DATETIME. Sebagai contoh, pertanyaan berikut akan memilih semua baris daripada jadual "kalendar" di mana nilai DATE() medan "Masa mula" adalah sama dengan "2010-04-29":

SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'

Cara lain untuk membandingkan rentetan DATE dengan rentetan DATETIME ialah menggunakan fungsi CURDATE(). Fungsi CURDATE() mengembalikan tarikh semasa sebagai rentetan DATE. Anda kemudiannya boleh membandingkan nilai CURDATE() dengan rentetan DATETIME untuk melihat sama ada kedua-dua tarikh adalah sama. Sebagai contoh, pertanyaan berikut akan memilih semua baris daripada jadual "kalendar" di mana medan "Masa mula" adalah sama dengan tarikh semasa:

SELECT * FROM `calendar` WHERE startTime = CURDATE()

Apabila membandingkan rentetan DATE dengan rentetan DATETIME, adalah penting untuk ingat bahawa fungsi DATE() akan memotong masa部分 daripada medan DATETIME. Ini bermakna jika anda mempunyai dua rentetan DATETIME yang mewakili tarikh yang sama tetapi mempunyai masa yang berbeza, fungsi DATE() akan mengembalikan nilai yang sama untuk kedua-dua rentetan. Akibatnya, pertanyaan di atas tidak akan membezakan antara baris yang mempunyai masa berbeza pada tarikh yang sama.

Jika anda perlu membandingkan rentetan DATETIME dengan masa yang berbeza, anda boleh menggunakan operator >= dan <= untuk membandingkan dua rentetan. Sebagai contoh, pertanyaan berikut akan memilih semua baris daripada jadual "kalendar" di mana medan "Masa mula" adalah antara "2010-04-29 10:00" dan "2010-04-29 12:00":

SELECT * FROM `calendar` WHERE startTime >= '2010-04-29 10:00' AND startTime <= '2010-04-29 12:00'

Dengan menggunakan teknik yang diterangkan di atas, anda boleh membandingkan rentetan DATE dengan rentetan DATETIME dalam MySQL dengan mudah. Ini berguna untuk menapis data, mendapatkan maklumat tentang tarikh tertentu dan melaksanakan tugas berkaitan tarikh lain.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Rentetan DATE dengan Rentetan DATETIME dalam MySQL?. 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