У меня есть запрос (в Oracle SQL Developer), который в настоящее время жестко запрограммирован для выбора всех записей в 2019, 2018 и 2017 годах. Теперь, когда наступил 2020 год, я хотел бы изменить его, чтобы выбрать идущий динамически прошло три года, так что этот запрос может работать годами без необходимости изменения кода.
Я знаю, что могу найти все записи с этой конкретной даты c в прошлом году и до конца года с -
SELECT * FROM TABLE
WHERE BOOKDATE >= add_months( sysdate, -12*1 );
Так что это даст мне 11 марта С 2019 по конец 2019 года. Но как выбрать все записи для текущего года, прошлого года и двух лет a go (каждый год отдельно) - а не специально для этой даты? BOOKDATE имеет формат DD-MON-YY.