SYSDATE
, SYSTIMESTAMP
restituisce il database data e timestamp, mentre current_date
, current_timestamp
restituisce la data e timestamp del luogo da dove si lavora.
Ad es. lavorando dall'India, accedo a un database situato a Parigi. alle 04:00 IST:
select sysdate,systimestamp from dual;
Questo mi restituisce la data e l'ora di Parigi:
RISULTATO
12-MAY-14 12-MAY-14 12.30.03.283502000 PM +02:00
select current_date,current_timestamp from dual;
Questo mi restituisce la data e Tempo dell'India:
RISULTATO
12-MAY-14 12-MAY-14 04.00.03.283520000 PM ASIA/CALCUTTA
Si prega di notare la differenza di 3:30 di tempo.
fonte
2014-05-12 10:43:40
+4: 30 significa ora legale in Iran. C'è l'Iran e ora è estate! Perché shold ho cambiato il mio fuso orario ?! –
perché SYSDATE restituisce la data di sistema del sistema su cui si trova il database. Il tipo di ritorno è TIMESTAMP WITH TIME ZONE e CURRENT_TIMESTAMP restituisce la data e l'ora correnti nel fuso orario della sessione, in un valore di tipo datetime TIMESTAMP WITH TIME ZONE – Harshit