Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Datetime SQL Server COMME sélectionner ?

Vous pouvez utiliser la fonction DATEPART()

SELECT * FROM record 
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

Je trouve cette méthode facile à lire, car elle ignore la composante temporelle et vous n'avez pas besoin d'utiliser la date du lendemain pour restreindre votre sélection. Vous pouvez aller à une granularité plus ou moins grande en ajoutant des clauses supplémentaires, en utilisant le code DatePart approprié, par exemple

AND    DATEPART(hh, register_date) = 12)

pour obtenir des records entre 12 et 1.

Consultez la documentation MSDN DATEPART pour la liste complète des arguments valides.