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

SYSDATE Funzione in Oracle

In Oracle Database, il SYSDATE La funzione restituisce la data e l'ora correnti impostate per il sistema operativo su cui risiede il server di database.

Il valore restituito è di tipo DATE .

Sintassi

La sintassi è questa:

SYSDATE

Quindi, nessun argomento è richiesto (o accettato) e non ci sono parentesi.

Esempio

Ecco un esempio:

SELECT SYSDATE
FROM DUAL;

Risultato:

06/AUG/21

Questo esempio mostra la data in base al valore del NLS_DATE_FORMAT del mio sistema parametro (che è attualmente DD/MON/RR ). Possiamo modificare questo parametro o utilizzare una funzione come TO_CHAR() per restituire il risultato in un formato diverso.

Esempio:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;

Risultato:

2021-08-06

Chiamando SYSDATE con parentesi

Come accennato, il SYSDATE la funzione viene chiamata senza parentesi.

Ecco cosa succede quando lo chiamiamo tra parentesi:

SELECT SYSDATE()
FROM DUAL;

Risultato:

Error starting at line : 1 in command -
SELECT SYSDATE()
FROM DUAL
Error at Command Line : 1 Column : 15
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

Correzione del SYSDATE Valore restituito

Il FIXED_DATE il parametro di inizializzazione consente di impostare una data e un'ora costanti che SYSDATE ritornerà sempre al posto della data e dell'ora correnti.

Questo può aiutare nelle situazioni di test quando hai bisogno degli stessi dati di input per produrre lo stesso risultato in modo coerente.

Consulta la documentazione di Oracle per FIXED_DATE e anche parametri di inizializzazione in generale per ulteriori informazioni.