Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Para obter data de datetime em sql


A razão pela qual sua consulta não retorna a linha que você espera, é porque GETDATE() retorna a parte de data e hora no momento em que a consulta foi executada. O valor em seu DateCreated coluna não corresponderá à parte do tempo, portanto, nenhuma linha será retornada.

Existem várias maneiras de construir uma consulta para que ela avalie a data com base apenas no componente de data. Aqui está um exemplo:
WHERE YEAR(datecreated) = YEAR(GETDATE())
  AND MONTH(datecreated) = MONTH(GETDATE())
  AND DAY(datecreated) = DAY(GETDATE())

A triste realidade é que qualquer consulta usando uma função na coluna significa que, se existir um índice na coluna, ele não poderá ser usado.