Membandingkan DATETIME dengan Bahagian Tarikh Sahaja
Dalam sesetengah senario, adalah perlu untuk membandingkan hanya bahagian tarikh dua lajur DATETIME atau DATE, mengabaikan komponen masa. Artikel ini menangani keperluan ini dengan meneroka penyelesaian praktikal menggunakan SQL Server.
Masalah: Bagaimanakah anda membandingkan dua rekod hanya berdasarkan bahagian tarikhnya (hari, bulan dan tahun) sambil mengabaikan komponen masa (jam, minit dan saat)?
Penyelesaian:
Untuk mengasingkan bahagian tarikh dan membuang komponen masa, manfaatkan fungsi CAST dalam SQL Server. Fungsi ini menukar nilai DATETIME atau DATE kepada jenis data lain, termasuk jenis data DATE.
Pertimbangkan pertanyaan berikut:
IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
Dalam pertanyaan ini, fungsi CAST menukar kedua-dua DateField1 dan DateField2 kepada jenis data DATE. Perbandingan kemudiannya dilakukan pada nilai DATE yang terhasil, dengan berkesan mengabaikan komponen masa. Jika tarikh sepadan, perbandingan dinilai kepada benar; jika tidak, ia dinilai palsu. Teknik ini membolehkan anda memberi tumpuan semata-mata pada bahagian tarikh kedua-dua medan untuk perbandingan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Lajur DATETIME Mengabaikan Komponen Masa dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!