Выполнение этого в PL / SQL в значительной степени является синонимом выполнения в SQL.
SELECT *
FROM table
WHERE date_column >= ADD_MONTHS(TRUNC(SYSDATE),-12)
Возможно, вы захотите поиграть с оператором TRUNC, чтобы получить именно тот диапазон, который вам нужен - я использовал TRUNC (SYSDATE), который совпадает с TRUNC (SYSDATE, 'D') - т.е. удалить часть времени sysdate. Например, если это в настоящее время 12 августа, но вы хотите значения с 01 февраля вместо 12 февраля, используйте:
SELECT *
FROM table
WHERE date_column >= ADD_MONTHS(TRUNC(SYSDATE,'MM'),-12)
Также см. Документы по лечению месяцев с разным количеством дней: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions004.htm#SQLRF00603