Sur SQL Server 2008, vous auriez un nouveau DATE
type de données, que vous pourriez utiliser pour y parvenir :
SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
Le CAST(GETDATE() AS DATE)
convertit la date et l'heure actuelles en une valeur de date uniquement, par ex. renvoie '2010-04-06' pour le 6 avril 2010. Ajouter un jour à cela sélectionne essentiellement toutes les valeurs datetime d'aujourd'hui.
Dans SQL Server 2005, il n'y a pas de moyen facile de le faire - la solution la plus élégante que j'ai trouvée ici consiste à utiliser la manipulation numérique du DATETIME pour obtenir le même résultat :
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))