Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyoal Tarikh dengan Benar dalam SQL Server untuk Mengelakkan Keputusan Tidak Dijangka?

Bagaimanakah Saya Boleh Menyoal Tarikh dengan Benar dalam SQL Server untuk Mengelakkan Keputusan Tidak Dijangka?

Susan Sarandon
Susan Sarandonasal
2025-01-01 11:46:11216semak imbas

How Can I Correctly Query Dates in SQL Server to Avoid Unexpected Results?

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!

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