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

Datado em GETDATE Adicionar


Não é um intervalo de datas.

A condição que você tem lá é realmente apenas uma condição:maior que. O lado direito do maior que é de 6 dias atrás, portanto, sua condição corresponde a qualquer data posterior à data de seis dias atrás. Em outras palavras, não para no Hoje; inclui amanhã, na próxima semana e no próximo ano também.
AND ( Orders.ShipDate >= DATEADD(Day, Datediff(Day,0, GetDate() -7), 0)
      AND Orders.ShipDate < DATEADD(Day, Datediff(Day,0, GetDate()), 0) )

Isso é o que você realmente quer. Ele corresponde a datas posteriores à meia-noite do dia 7 dias atrás e datas anteriores à meia-noite de hoje (que é qualquer hora de ontem).