No SQL Server 2008, você teria um novo
DATE
tipo de dados, que você pode usar para conseguir isso:SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
O
CAST(GETDATE() AS DATE)
converte a data e hora atuais para um valor somente de data, por exemplo retorne '2010-04-06' para 6 de abril de 2010. Adicionar um dia a isso basicamente seleciona todos os valores de data e hora de hoje. No SQL Server 2005, não há uma maneira fácil de fazer isso - a solução mais elegante que encontrei aqui é usar a manipulação numérica do DATETIME para obter o mesmo resultado:
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))