Membandingkan DATETIME dan DATE Semasa Mengabaikan Bahagian Masa
Dalam SQL Server, membandingkan dua lajur DATETIME2(0) yang mewakili tarikh boleh mencabar apabila hanya bahagian tarikh (hari, bulan, tahun) yang menarik. Bahagian Masa (jam, minit, saat) boleh membawa kepada percanggahan dalam perbandingan.
Untuk menangani perkara ini, SQL Server 2008 memperkenalkan fungsi CAST, yang membenarkan penukaran antara jenis data yang berbeza. Dengan menghantar lajur DATETIME2(0) ke jenis data DATE menggunakan fungsi CAST, bahagian Masa dibuang dengan berkesan, hanya meninggalkan bahagian tarikh sebagai perbandingan.
Contoh berikut menunjukkan cara membandingkan dua rekod berdasarkan semata-mata pada bahagian Tarikh mereka:
IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
Dengan menghantar kedua-dua DateField1 dan DateField2 ke data DATE jenis, perbandingan secara langsung hanya membandingkan komponen hari, bulan dan tahun, tanpa menghiraukan sebarang perbezaan masa. Ini memastikan bahawa rekod mempunyai bahagian Tarikh yang sama, tanpa mengira bahagian Masanya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Bandingkan Hanya Bahagian Tarikh Lajur DATETIME2 dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!