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

Oracle:Hent af TZNAME Er det muligt?

Vi kan udtrække TIMEZONE_REGION fra et tidsstempel, forudsat at det er et TIMESTAMP MED TIMEZONE. Sådan:

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> 

Det sidste resultat returnerer UKENDT, fordi mere end ét tidszonenavn er knyttet til en forskydning på minus fire timer. Der er forskellige måder at indstille tidszonenavnet på på sessionsniveau; en af ​​dem er sandsynligvis den bedste måde at løse dette problem på. Få mere at vide .




  1. Hvordan tilføjer man et nyt sprog til mysqls fejlmeddelelser?

  2. yii2 hvordan man bruger søgning med sqldataProvider

  3. Hent mp4-fil-tags

  4. skal jeg genbruge markøren i python MySQLdb-modulet