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.