Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyoal Tarikh dengan Benar dalam SQL Server untuk Mengelakkan Keputusan Tidak Dijangka?
Menggunakan Tarikh dalam Pertanyaan Pelayan SQL
Dalam Pelayan SQL, adalah penting untuk mempertimbangkan jenis data semasa menanya tarikh. Pertanyaan anda, yang cuba mencari semua tarikh yang lebih besar daripada atau sama dengan 2010-04-01, tidak berjaya kerana anda menggunakan 2010-4-01 sebagai ungkapan matematik, pada dasarnya menganggapnya sebagai 2005.
Untuk membuat pertanyaan dengan betul untuk tarikh, anda perlu menukar tarikh kepada jenis data datetime dan menggunakan petikan tunggal. Berikut ialah pertanyaan yang diperbetulkan:
select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01')
Dengan menukar rentetan '2010-04-01' kepada nilai datetime, SQL Server boleh membandingkannya dengan tepat dengan jenis data datetime dalam jadual anda.
Sebagai alternatif, anda boleh menggunakan sintaks berikut, yang secara tersirat menukar rentetan kepada datetime:
select * from dbo.March2010 A where A.Date >= '2010-04-01'
Walau bagaimanapun, secara amnya disyorkan untuk menggunakan fungsi CONVERT eksplisit untuk kejelasan dan kebolehselenggaraan.
Ingat, apabila menanyakan tarikh dalam SQL Server, sentiasa pastikan anda mempertimbangkan jenis data dan gunakan fungsi penukaran yang sesuai untuk mengelakkan hasil yang tidak dijangka.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Tarikh dengan Benar dalam SQL Server untuk Mengelakkan Keputusan Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!