Pada SQL Server 2008, Anda akan memiliki DATE
baru tipe data, yang dapat Anda gunakan untuk mencapai ini:
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)
melemparkan tanggal dan waktu saat ini ke nilai hanya-tanggal, mis. return '2010-04-06' untuk 6 April 2010. Menambahkan satu hari ke dalamnya pada dasarnya memilih semua nilai datetime hari ini.
Di SQL Server 2005, tidak ada cara mudah untuk melakukan ini - solusi paling elegan yang saya temukan di sini adalah menggunakan manipulasi numerik DATETIME untuk mencapai hasil yang sama:
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))