Oracle
 sql >> Baza danych >  >> RDS >> Oracle

sysdate i dbtimezone różnią się w Oracle Database

Powszechnym nieporozumieniem jest to, że DBTIMEZONE to strefa czasowa dla SYSDATE i SYSTIMESTAMP

SYSDATE i SYSTIMESTAMP są zwracane w strefie czasowej systemu operacyjnego, w którym znajduje się serwer bazy danych.

DBTIMEZONE to (wewnętrzna) strefa czasowa TIMESTAMP WITH LOCAL TIME wartości. Nie znam żadnego praktycznego zastosowania tego. Uwaga, nie możesz zmienić DBTIMEZONE w Twojej bazie danych, jeśli baza danych zawiera tabelę z TIMESTAMP WITH LOCAL TIME ZONE kolumna i kolumna zawiera dane.

Jeśli chcesz aktualny czas w DBTIMEZONE, uruchom

select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE 
from dual;

CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE również działa.

Zobacz także Jak do obsługi oszczędzania światła dziennego w bazie danych Oracle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje odpowiednik LITAGG WITHIN GROUP w SQLAlchemy?

  2. Sprawdzanie Jdbc pod kątem możliwości — wydanie punktu zapisu

  3. Jak znaleźć LEFT OUTER JOIN lub RIGHT OUTER JOIN z ORACLE JOIN (+)

  4. funkcja listunagg?

  5. Kolejność parametrów procedury składowanej w C# Oracle