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

Pour obtenir la date de datetime en sql

La raison pour laquelle votre requête ne renvoie pas la ligne attendue est que GETDATE() renvoie la partie date et heure au moment où la requête a été exécutée. La valeur dans votre DateCreated la colonne ne correspondra pas à la partie heure, donc aucune ligne n'est renvoyée.

Il existe différentes manières de construire une requête afin qu'elle évalue la date en se basant uniquement sur le composant de date. Voici un exemple :

WHERE YEAR(datecreated) = YEAR(GETDATE())
  AND MONTH(datecreated) = MONTH(GETDATE())
  AND DAY(datecreated) = DAY(GETDATE())

La triste réalité est que toute requête utilisant une fonction sur la colonne signifie que si un index existe sur la colonne, il ne peut pas être utilisé.