Bạn có thể sử dụng hàm DATEPART ()
SELECT * FROM record
WHERE (DATEPART(yy, register_date) = 2009
AND DATEPART(mm, register_date) = 10
AND DATEPART(dd, register_date) = 10)
Tôi thấy cách này dễ đọc, vì nó bỏ qua thành phần thời gian và bạn không phải sử dụng ngày của ngày hôm sau để hạn chế lựa chọn của mình. Bạn có thể đi đến mức độ chi tiết lớn hơn hoặc thấp hơn bằng cách thêm các mệnh đề bổ sung, sử dụng mã DatePart thích hợp, ví dụ:
AND DATEPART(hh, register_date) = 12)
để có được các bản ghi được thực hiện trong khoảng từ 12 đến 1.
Tham khảo tài liệu MSDN DATEPART để biết danh sách đầy đủ các đối số hợp lệ.