Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SYSTIMESTAMP-Funktion in Oracle

In Oracle Database der SYSTIMESTAMP Die Funktion gibt das Systemdatum einschließlich Sekundenbruchteilen und Zeitzone des Systems zurück, auf dem sich die Datenbank befindet.

Der zurückgegebene Wert ist vom Typ TIMESTAMP WITH TIME ZONE .

Syntax

Die Syntax lautet wie folgt:

SYSTIMESTAMP

Daher sind keine Argumente erforderlich (oder akzeptiert) und es gibt keine Klammern.

Beispiel

Hier ist ein Beispiel:

SELECT SYSTIMESTAMP
FROM DUAL;

Ergebnis:

06/AUG/21 07:45:00.540362000 PM -04:00

Dieses Beispiel zeigt das Datum basierend auf dem Wert von NLS_DATE_FORMAT meines Systems an -Parameter (derzeit DD/MON/RR ). Wir können das NLS_DATE_FORMAT ändern Parameter oder verwenden Sie eine Funktion wie TO_CHAR() um das Ergebnis in einem anderen Format zurückzugeben.

Beispiel:

SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;

Ergebnis:

2021-08-06 19:48:43 -04:00

Aufruf von SYSTIMESTAMP mit Klammern

Wie bereits erwähnt, der SYSTIMESTAMP Funktion wird ohne Klammern aufgerufen.

Folgendes passiert, wenn wir es mit Klammern aufrufen:

SELECT SYSTIMESTAMP()
FROM DUAL;

Ergebnis:

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.