Problema:
Le gustaría mostrar la fecha de ayer (sin hora) en una base de datos de SQL Server.
Solución:
SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;
Suponiendo que hoy es 2020-09-24, el resultado es:
| yesterday_date |
|---|
| 2020-09-23 |
Discusión:
Para obtener la fecha de ayer, debe restar un día a la fecha de hoy. Usa GETDATE() para obtener la fecha de hoy (el tipo es datetime ) y enviarlo a date . En SQL Server, puede restar o sumar cualquier número de días usando DATEADD() función.
El DATEADD() La función toma tres argumentos:datepart , number y date . Aquí, el valor de datepart es day , porque la unidad de tiempo que desea restar es el día. El segundo argumento es -1 (usted resta 1 día, que es lo mismo que sumar -1 día). El tercer argumento es la fecha de hoy, la fecha de la que desea restar.
Por supuesto, puede retroceder cualquier intervalo de tiempo con la misma facilidad. He aquí un ejemplo:
SELECT DATEADD(month, -5, CAST(GETDATE() AS date));
También se puede added a una fecha Entonces, aquí hay una forma si desea obtener la fecha de mañana:
SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;