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

sysdate og dbtimezone forskellige i Oracle Database

Det er en almindelig misforståelse, at DBTIMEZONE er tidszonen for SYSDATE og SYSTIMESTAMP

SYSDATE og SYSTIMESTAMP returneres i tidszonen for det operativsystem, som databaseserveren ligger på.

DBTIMEZONE er den (interne) tidszone for TIMESTAMP WITH LOCAL TIME værdier. Jeg kender ikke nogen praktisk brug af det. Bemærk, du kan ikke ændre DBTIMEZONE på din database, hvis databasen indeholder en tabel med et TIMESTAMP WITH LOCAL TIME ZONE kolonne og kolonnen indeholder data.

Hvis du ønsker aktuel tid på DBTIMEZONE, kør

select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE 
from dual;

CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE virker også.

Se også Hvordan at håndtere sommertid i Oracle-database



  1. Find forskellen mellem to datoer i PHP eller MySQL

  2. Kør en PostgreSQL .sql-fil ved hjælp af kommandolinjeargumenter

  3. Er der en vises i alle (sæt division?) operation indbygget i MySQL?

  4. MySQL Vælg efter nyeste tidsstempel