Problema:
Você gostaria de exibir a data de ontem (sem hora) em um banco de dados Oracle.
Solução 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
Supondo que hoje seja 24/09/2020, o resultado é:
| ontem_date |
|---|
| 23-09-2020 |
Discussão:
Para obter a data de ontem, você precisa subtrair um dia de hoje. Use
current_date para obter a data de hoje. No Oracle, você pode subtrair qualquer número de dias simplesmente subtraindo esse número da data atual. Aqui, como você precisa subtrair um dia, você usa current_date - 1 . Então você usa o TO_DATE() função para converter o resultado para o tipo de coluna date . Você pode voltar em quantos dias quiser com muita facilidade, por exemplo, em sete dias.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
Você também pode calcular uma data no futuro. Por exemplo, para obter a data de amanhã, adicione uma a
current_date :SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual