sql >> Database >  >> RDS >> Oracle

Oracle:Ophalen door TZNAME Is het mogelijk?

We kunnen de TIMEZONE_REGION extraheren uit een tijdstempel, door het een TIMESTAMP MET TIMEZONE te geven. Vind ik leuk:

SQL> select extract(timezone_region from current_timestamp)
  2  from dual
  3  /

EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
CET

SQL>  alter session set time_zone='UTC';

Session altered.

SQL> select extract(timezone_region from current_timestamp)
  2  from dual
  3  /

EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
UTC

SQL> alter session set time_zone='-04:00';

Session altered.

SQL> select extract(timezone_region from current_timestamp)
  2  from dual
  3  /

EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
UNKNOWN

SQL> 

Het laatste resultaat retourneert ONBEKEND omdat meer dan één tijdzonenaam wordt toegewezen aan een verschuiving van min vier uur. Er zijn verschillende manieren om de naam van de tijdzone in te stellen op sessieniveau; een van deze is waarschijnlijk de beste manier om dit probleem te omzeilen. Meer informatie .




  1. Sqlite3 - NULL-waarden importeren uit csv

  2. Hoe exporteer ik het resultaat naar verschillende tabbladen van Excel in Toad for Data Analyst?

  3. Lege resultaten krijgen voor 'COUNT'/'GROUP BY' MySQL-query

  4. Array toewijzen met Hibernate