Rumah >pangkalan data >tutorial mysql >Bagaimana untuk membuat pertanyaan dengan betul untuk tarikh yang lebih besar daripada tarikh tertentu dalam SQL Server?
Mencari Tarikh Lebih Besar Daripada Tarikh Tertentu dalam Pelayan SQL
Dalam percubaan untuk mendapatkan semula rekod dengan tarikh lewat daripada tarikh yang ditentukan, anda mungkin menghadapi masalah dengan pertanyaan anda. Contohnya, pertanyaan yang serupa dengan pertanyaan di bawah:
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
di mana A.Date dalam format 2010-03-04 00:00:00.000, mungkin tidak menghasilkan hasil yang diharapkan.
Untuk menyelesaikan isu ini, adalah penting untuk menukar ungkapan tarikh kepada format masa tarikh yang betul menggunakan fungsi Tukar. Sintaks yang betul ialah:
SELECT * FROM dbo.March2010 A WHERE A.Date >= Convert(datetime, '2010-04-01' )
Sebabnya ialah apabila menggunakan ungkapan matematik, SQL Server menganggap nilai tarikh sebagai nombor, mengakibatkan perbandingan yang salah. Menukar tarikh kepada masa tarikh memastikan perbandingan dibuat dengan betul.
Walaupun SQL Server mungkin membenarkan penukaran tersirat menggunakan petikan tunggal, seperti:
SELECT * FROM dbo.March2010 A WHERE A.Date >= '2010-04-01'
ia dianggap kurang boleh dibaca dan kurang boleh dipercayai daripada kaedah penukaran eksplisit. Penukaran eksplisit memastikan pengendalian tarikh yang betul, tanpa mengira tetapan pengguna atau tarikh sistem semasa.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan dengan betul untuk tarikh yang lebih besar daripada tarikh tertentu dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!