Как отобразить дату поля (тип даты данных) за последние 3 месяца

#sql #oracle

#sql #Oracle

Вопрос:

У меня есть этот запрос:

 select date 
from datetime 
where tgl_valuta > TO_DATE('01/01/2019', 'dd-mm-yyyy');
  

Я хочу запросить дату отображения за последние три месяца.

Комментарии:

1. можете ли вы также опубликовать какой-нибудь пример кода, который вы пробовали в отношении этого. Например, запрос, который вы пытались выполнить, но не сработал и т.д.

Ответ №1:

Используйте ADD_MONTHS

 select * from datetime where tgl_valuta > add_months(sysdate, -3)
  

Выполняется проверка отставания текущей даты ровно на 3 месяца ( sysdate ). Если вы хотите сравнить с первого дня 3-го предыдущего месяца, вы можете добавить опцию TRUNC with MM

 > TRUNC(add_months(sysdate, -3),'MM')
  

Комментарии:

1. Я понимаю ADD_MONTHS и TRUNC , но — для чего SYSDATE 3 используется?

2. @Littlefoot : Это ошибка при копипастировании, спасибо, что указали.

3. ОК, нет проблем 🙂