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;