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;