sql >> Database >  >> RDS >> Oracle

sysdate en dbtimezone verschillend in Oracle Database

Het is een veelvoorkomend misverstand dat DBTIMEZONE is de tijdzone voor SYSDATE en SYSTIMESTAMP

SYSDATE en SYSTIMESTAMP worden geretourneerd in de tijdzone van het besturingssysteem waarop de databaseserver zich bevindt.

DBTIMEZONE is de (interne) tijdzone van TIMESTAMP WITH LOCAL TIME waarden. Ik ken er geen praktisch nut van. Let op, u kunt DBTIMEZONE niet wijzigen op uw database als de database een tabel bevat met een TIMESTAMP WITH LOCAL TIME ZONE kolom en de kolom bevat gegevens.

Als u de huidige tijd op DBTIMEZONE wilt uitvoeren

select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE 
from dual;

CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE werkt ook.

Zie ook Hoe om daglichtbesparing in Oracle-database te verwerken



  1. Hoe een specifieke waarde te verwijderen uit een door komma's gescheiden tekenreeks in orakel

  2. Microsoft Hex-datums

  3. Wordnet-query om voorbeeldzinnen te retourneren

  4. mysql update meerdere kolommen met dezelfde now()