Database
 sql >> Base de Dados >  >> RDS >> Database

Como obter a data de ontem em T-SQL

Problema:


Você gostaria de exibir a data de ontem (sem hora) em um banco de dados SQL Server.

Solução:

SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;

Supondo que hoje seja 24/09/2020, o resultado é:
ontem_date
23-09-2020

Discussão:


Para obter a data de ontem, você precisa subtrair um dia da data de hoje. Use GETDATE() para obter a data de hoje (o tipo é datetime ) e converta-o para date . No SQL Server, você pode subtrair ou adicionar qualquer número de dias usando o DATEADD() função.

O DATEADD() função recebe três argumentos:datepart , number e date . Aqui, o valor de datepart é day , porque a unidade de tempo que você deseja subtrair é dia. O segundo argumento é -1 (você subtrai 1 dia, que é o mesmo que adicionar -1 dia). O terceiro argumento é a data de hoje — a data da qual você deseja subtrair.

Claro, você pode voltar em qualquer intervalo de tempo com a mesma facilidade. Aqui está um exemplo:
SELECT DATEADD(month, -5, CAST(GETDATE() AS date));

Um intervalo de tempo também pode ser added a uma data. Então, aqui está uma maneira se você quiser obter a data de amanhã:
SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;