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

Oracle:Pobieranie przez TZNAME Czy to możliwe?

Możemy wyodrębnić TIMEZONE_REGION ze znacznika czasu, podając jego TIMESTAMP WITH TIMEZONE. Tak:

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> 

Ostatni wynik zwraca UNKNOWN, ponieważ więcej niż jedna nazwa strefy czasowej jest mapowana na przesunięcie wynoszące minus cztery godziny. Istnieją różne sposoby ustawiania nazwy strefy czasowej na poziomie sesji; jeden z nich prawdopodobnie będzie najlepszym sposobem obejścia tego problemu. Dowiedz się więcej .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rekurencja w zapytaniu do bazy danych w celu uzyskania wyniku hierarchicznego za pomocą Hibernate - Java

  2. Znajduje się w kursorze, gdy warunek jest spełniony

  3. Dostałem minus jeden z przeczytanej rozmowy

  4. wyrażenie regularne dla wszystkich znaków akcentowanych w Oracle

  5. Rzuć ciąg na int i użyj w klauzuli Where