Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottengo l'anno in corso utilizzando SQL su Oracle?

Usando to_char:

select to_char(sysdate, 'YYYY') from dual;

Nel tuo esempio puoi usare qualcosa come:

BETWEEN trunc(sysdate, 'YEAR') 
    AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60;

I valori di confronto sono esattamente quelli che richiedi:

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