Sử dụng to_char:
select to_char(sysdate, 'YYYY') from dual;
Trong ví dụ của bạn, bạn có thể sử dụng một cái gì đó như:
BETWEEN trunc(sysdate, 'YEAR')
AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60;
Các giá trị so sánh chính xác là những gì bạn yêu cầu:
select trunc(sysdate, 'YEAR') begin_year
, add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60 last_second_year
from dual;
BEGIN_YEAR LAST_SECOND_YEAR
----------- ----------------
01/01/2009 31/12/2009