In Oracle Database, il SYSTIMESTAMP
la funzione restituisce la data di sistema, inclusi i secondi frazionari e il fuso orario, del sistema su cui risiede il database.
Il valore restituito è di tipo TIMESTAMP WITH TIME ZONE
.
Sintassi
La sintassi è questa:
SYSTIMESTAMP
Quindi, nessun argomento è richiesto (o accettato) e non ci sono parentesi.
Esempio
Ecco un esempio:
SELECT SYSTIMESTAMP
FROM DUAL;
Risultato:
06/AUG/21 07:45:00.540362000 PM -04:00
Questo esempio mostra la data in base al valore del NLS_DATE_FORMAT
del mio sistema parametro (che è attualmente DD/MON/RR
). Possiamo cambiare il NLS_DATE_FORMAT
parametro o utilizzare una funzione come TO_CHAR()
per restituire il risultato in un formato diverso.
Esempio:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Risultato:
2021-08-06 19:48:43 -04:00
Chiamata a SYSTIMESTAMP
con parentesi
Come accennato, il SYSTIMESTAMP
la funzione viene chiamata senza parentesi.
Ecco cosa succede quando lo chiamiamo tra parentesi:
SELECT SYSTIMESTAMP()
FROM DUAL;
Risultato:
Error starting at line : 1 in command - SELECT SYSTIMESTAMP() FROM DUAL Error at Command Line : 1 Column : 21 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.