Rumah >pangkalan data >tutorial mysql >Bagaimana untuk membuat pertanyaan dengan betul untuk tarikh yang lebih besar daripada tarikh yang ditetapkan dalam SQL Server?
Perbandingan Tarikh dalam Pelayan SQL: Menyoal untuk Tarikh Lebih Besar daripada Yang Ditentukan
Dalam Pelayan SQL, pertanyaan selalunya melibatkan perbandingan tarikh untuk menapis dan mendapatkan semula tertentu data. Apabila cuba membuat pertanyaan untuk tarikh yang lebih besar daripada tarikh tertentu, adalah penting untuk mengendalikan format tarikh dengan betul.
Pertimbangkan pertanyaan berikut:
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
di mana A.Date diwakili dalam format ' 04-03-2010 00:00:00.000'. Walau bagaimanapun, pertanyaan ini mungkin tidak mengembalikan hasil yang dijangkakan.
Punca isu ini terletak pada tafsiran ungkapan 2010-04-01. Dalam SQL Server, pengiraan matematik dilakukan pada nilai tarikh apabila ia tidak disertakan dalam petikan tunggal. Menolak 4 dan 1 daripada 2010 menghasilkan 2005, yang bukan nilai perbandingan yang dimaksudkan.
Untuk menyelesaikan isu ini, ungkapan mesti ditukar secara eksplisit kepada jenis data datetime menggunakan fungsi Tukar. Pertanyaan yang diperbetulkan ialah:
select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01' )
Kini, pertanyaan akan membandingkan tarikh dengan betul dan mengembalikan rekod yang nilai A.Date lebih besar daripada atau sama dengan '2010-04-01'.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan dengan betul untuk tarikh yang lebih besar daripada tarikh yang ditetapkan dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!