Bạn có thể sử dụng DATEPART
chức năng để trích xuất các phần của ngày tháng. Nó cũng sẽ làm cho các truy vấn của bạn rõ ràng hơn về những gì bạn đang tìm cách đạt được:
SELECT * FROM MyTable
where DATEPART(year,CheckDate)=2009 and
DATEPART(month,CheckDate) between 10 and 12
(Ngoài ra còn có các hàm được đặt tên cụ thể, chẳng hạn như MONTH
và YEAR
, nhưng tôi thích DATEPART
để có tính nhất quán vì nó có thể truy cập tất cả các thành phần của datetime
)
Bạn nên cố gắng tránh nghĩ đến datetime
s như có bất kỳ loại định dạng chuỗi nào. Xử lý chúng dưới dạng chuỗi là một trong những nguồn lỗi lớn nhất mà chúng tôi gặp phải.