Problema:
Le gustaría mostrar la fecha de ayer (sin hora) en una base de datos de Oracle.
Solución 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
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 de hoy. Usar current_date
para obtener la fecha de hoy. En Oracle, puede restar cualquier número de días simplemente restando ese número de la fecha actual. Aquí, dado que necesita restar un día, usa current_date - 1
. Luego usa el TO_DATE()
función para convertir el resultado en el tipo de columna date
.
Puede retroceder la cantidad de días que desee muy fácilmente, por ejemplo, siete días.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
También puede calcular una fecha en el futuro. Por ejemplo, para obtener la fecha de mañana, agrega uno a current_date
:
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual