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