dateadd (day, - 45, getdate))
dateadd (day, - 45, getdate))
Fala Adriano,
primeiramente faltou um Colchetes ai no código acima o correto é dateadd (day, - 45, getdate()).
O Comando DATEADD foi criado para você adicionar em dias, mês, ano, trimestre etc. em uma data, e ele é muito útil, por exemplo se comprar para pagar em 30 dias ele vai te dar a data correta do pagamento daqui 30 dias, ou no seu caso que esta tirando 45 dias da data de hoje.
Vamos analisar? DATEADD Significa que vamos adicionar uma data há alguma data que será passada.
Day como queremos implementar a data neste caso será em dias.
-45 Repare que queremos adicionar uma data mais neste caso passamos o valor negativo, então vamos tirar uma data.
GETDATE() = Busca a data atual.
Traduzindo neste caso estamos tirando 45 da data atual.
Se levarmos em consideração hoje dia 30/03/2017 o SQL nos retornará 13/02/2017.
Espero ter esclarecido. Atenciosamente.
Boa tarde,
Como está este caso funcionou?
Atenciosamente.
Aqui tive a mesma dúvida, e a explicação do William caiu como uma luva. Tbm dei uma lida que abriu mais a mente nesse link: http://www.devmedia.com.br/funcoes-de-data-no-sql-server/1946
Caso ainda se interesse Adriano.