Trên SQL Server 2008, bạn sẽ có DATE
mới kiểu dữ liệu mà bạn có thể sử dụng để đạt được điều này:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
CAST(GETDATE() AS DATE)
chuyển ngày và giờ hiện tại thành giá trị chỉ ngày, ví dụ:return '2010-04-06' cho ngày 6 tháng 4 năm 2010. Việc thêm một ngày vào đó về cơ bản sẽ chọn tất cả các giá trị datetime của ngày hôm nay.
Trong SQL Server 2005, không có cách nào dễ dàng để làm điều này - giải pháp tốt nhất mà tôi tìm thấy ở đây là sử dụng thao tác số của DATETIME để đạt được kết quả tương tự:
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND
DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))