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

Aggiungi 2 mesi al timestamp corrente

Questo ti darà la data e l'ora come TIMESTAMP tipo di dati:

select TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSDATE, 2), 'YYYYMMDD HH24:MI'), 
'YYYYMMDD HH24:MI') from dual;

Se hai bisogno di una precisione maggiore o minore (ad es. arrotondamento) rispetto a quanto sopra, regola i formati della data (entrambi devono essere dello stesso formato). Ad esempio, questo riporterà 2 mesi al livello di precisione dei secondi:

select TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSTIMESTAMP, 2), 
'YYYYMMDD HH24:MI:SS'), 'YYYYMMDD HH24:MI:SS') from dual;

Questo è il più vicino che posso ottenere (come personaggio) al formato che ti serve:

select TO_CHAR( 
TO_TIMESTAMP(TO_CHAR(ADD_MONTHS(SYSTIMESTAMP, 2), 
'YYYYMMDD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS'),
'YYYY-MM-DD HH24:MI:SS.FF TZR') from dual;