sql >> Databasteknik >  >> RDS >> Oracle

SYSTIMESTAMP-funktion i Oracle

I Oracle Database, SYSTIMESTAMP funktion returnerar systemdatumet, inklusive bråkdelar av sekunder och tidszon, för systemet som databasen finns på.

Det returnerade värdet är av typen TIMESTAMP WITH TIME ZONE .

Syntax

Syntaxen ser ut så här:

SYSTIMESTAMP

Så inga argument krävs (eller accepteras), och det finns inga parenteser.

Exempel

Här är ett exempel:

SELECT SYSTIMESTAMP
FROM DUAL;

Resultat:

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

Det här exemplet visar datumet baserat på värdet på mitt systems NLS_DATE_FORMAT parameter (som för närvarande är DD/MON/RR ). Vi kan ändra NLS_DATE_FORMAT parameter, eller använd en funktion som TO_CHAR() för att returnera resultatet i ett annat format.

Exempel:

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

Resultat:

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

Ringer SYSTIMESTAMP med parenteser

Som nämnts, SYSTIMESTAMP funktionen anropas utan parentes.

Här är vad som händer när vi kallar det med parentes:

SELECT SYSTIMESTAMP()
FROM DUAL;

Resultat:

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.

  1. Postgres tid med tidszonslikhet

  2. Övervakning av tillgänglighet Grupprepliksynkronisering

  3. Min DBA är sjuk - Databas Failover Tips för SysAdmins

  4. Bestäm Oracle null ==null