sql >> Base de Datos >  >> RDS >> Database

Cómo obtener la fecha de ayer en T-SQL

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;