Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Bandingkan Hanya Bahagian Tarikh Lajur DATETIME2 dalam Pelayan SQL?

Bagaimanakah Saya Boleh Bandingkan Hanya Bahagian Tarikh Lajur DATETIME2 dalam Pelayan SQL?

Susan Sarandon
Susan Sarandonasal
2024-12-25 19:02:09578semak imbas

How Can I Compare Only the Date Portion of DATETIME2 Columns in SQL Server?

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!

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