Database
 sql >> Database >  >> RDS >> Database

Come ottenere la data di ieri in T-SQL

Problema:

Si desidera visualizzare la data di ieri (senza ora) in un database di SQL Server.

Soluzione:

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

Supponendo che oggi sia il 24-09-2020, il risultato è:

ieri_data
23-09-2020

Discussione:

Per ottenere la data di ieri, devi sottrarre un giorno dalla data di oggi. Usa GETDATE() per ottenere la data odierna (il tipo è datetime ) e trasmettilo a date . In SQL Server puoi sottrarre o aggiungere qualsiasi numero di giorni utilizzando DATEADD() funzione.

Il DATEADD() la funzione accetta tre argomenti:datepart , number e date . Qui, il valore di datepart è il day , perché l'unità di tempo che vuoi sottrarre è il giorno. Il secondo argomento è -1 (sottrai 1 giorno, che equivale a sommare -1 giorno). Il terzo argomento è la data odierna, la data da cui vuoi sottrarre.

Naturalmente, puoi tornare indietro di qualsiasi intervallo di tempo altrettanto facilmente. Ecco un esempio:

SELECT DATEADD(month, -5, CAST(GETDATE() AS date));

È inoltre possibile added ad una data. Quindi, ecco un modo se vuoi ottenere la data di domani:

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