Membandingkan Nilai DATETIME dan DATE dengan Mengabaikan Komponen Masa
Membandingkan nilai DATETIME semata-mata berdasarkan komponen tarikhnya memerlukan mengalih keluar bahagian masa daripada pertimbangan. Teknik ini amat berguna apabila berurusan dengan data di mana maklumat masa tidak relevan.
Dalam SQL Server 2008 dan kemudian, fungsi CAST berfungsi sebagai alat yang berkuasa untuk menyelesaikan tugas ini. Dengan menghantar lajur DATETIME2(0) ke jenis data DATE, anda boleh membuang elemen masa nilai dengan berkesan. Ini membenarkan perbandingan berdasarkan bahagian tarikh (hari, bulan dan tahun) sahaja.
Sebagai contoh, pertimbangkan coretan kod berikut:
IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
Dalam kod ini, DateField1 dan DateField2 ialah lajur jenis DATETIME2(0). Dengan menghantar kedua-dua lajur ke jenis data DATE menggunakan fungsi CAST, kami memastikan bahawa perbandingan dibuat hanya pada komponen tarikh, mengabaikan maklumat masa. Jika tarikh sepadan, pernyataan IF akan dinilai kepada benar.
Menggunakan pendekatan ini membolehkan anda melakukan perbandingan antara tarikh yang disimpan sebagai DATETIME2 tanpa memfaktorkan komponen masa. Teknik ini terbukti berharga apabila bekerja dengan set data di mana maklumat tarikh diutamakan daripada maklumat masa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Nilai DATETIME dalam SQL Server dengan Mengabaikan Komponen Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!