Apabila cuba membuat pertanyaan untuk tarikh yang lebih besar daripada tarikh tertentu dalam SQL Server menggunakan coretan kod berikut:
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
anda mungkin menghadapi ralat yang tidak dijangka. Ini kerana nilai tarikh 2010-04-01 ditafsirkan sebagai ungkapan matematik oleh SQL Server, dengan berkesan menukarnya kepada 2005. Untuk menyelesaikan isu ini, adalah perlu untuk menukar nilai tarikh kepada format datetime yang betul menggunakan fungsi Tukar:
SELECT * FROM dbo.March2010 A WHERE A.Date >= Convert(datetime, '2010-04-01' )
Sebagai alternatif, anda boleh menyertakan nilai tarikh secara eksplisit dalam petikan tunggal, yang juga akan mencetuskan penukaran:
SELECT * FROM dbo.March2010 A WHERE A.Date >= '2010-04-01'
Walaupun pendekatan yang terakhir diterima secara teknikal, ia secara amnya dianggap kurang boleh dibaca dan kurang boleh diselenggara. Dengan menggunakan fungsi Tukar secara eksplisit, anda menjadikan penukaran lebih jelas kepada penyelenggara masa hadapan.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan dengan betul untuk tarikh yang lebih besar daripada nilai tertentu dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!