Oracle
 sql >> база данни >  >> RDS >> Oracle

sysdate и dbtimezone са различни в Oracle Database

Често срещано погрешно разбиране е, че DBTIMEZONE е часовата зона за SYSDATE и SYSTIMESTAMP

SYSDATE и SYSTIMESTAMP се връщат в часовата зона на операционната система, на която се намира сървърът на базата данни.

DBTIMEZONE е (вътрешната) часова зона на TIMESTAMP WITH LOCAL TIME стойности. Не знам никаква практическа полза от него. Забележете, че не можете да промените DBTIMEZONE във вашата база данни, ако базата данни съдържа таблица с TIMESTAMP WITH LOCAL TIME ZONE колона и колоната съдържа данни.

Ако искате текущо време в DBTIMEZONE, стартирайте

select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE 
from dual;

CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE също работи.

Вижте също Как за работа с лятното часово време в базата данни на 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. Отмяна на ангажирана транзакция

  2. Как мога да създам проверка на живо от страна на сървъра на oracle apex, без да е необходимо да изпращам страница

  3. Не може да се създаде драйвер от NHibernate.Driver.OracleDataClientDriver

  4. Oracle MIN като аналитична функция - странно поведение с ORDER BY?

  5. Oracle SQL връща редове по произволен начин, когато не се използва ред по клауза