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

Oracle Konwertuj TIMESTAMP ze strefą czasową na DATE

to_timestamp_tz() funkcja z at time zone Klauzula może być użyta do konwersji literału ciągu na wartość timestamp with time zone typ danych:

SQL> with t1(tm) as(
  2    select '2013-11-08T10:11:31+02:00' from dual
  3  )
  4  select to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM')
  5           at time zone '+4:00'         as this_way
  6       , to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM')
  7           at time zone 'Europe/Moscow' as or_this_way
  8    from t1
  9  /

Wynik:

THIS_WAY                            OR_THIS_WAY
----------------------------------------------------------------------------
2013-11-08 12.11.31 PM +04:00       2013-11-08 12.11.31 PM EUROPE/MOSCOW

A potem używamy cast() funkcja do wytworzenia wartości date typ danych:

with t1(tm) as(
  select '2013-11-08T10:11:31+02:00' from dual
)
select cast(to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') 
         at time zone '+4:00' as date)   as this_way  
     , cast(to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') 
         at time zone 'Europe/Moscow' as date) as or_this_way
  from t1

This_Way             Or_This_Way 
------------------------------------------
2013-11-08 12:11:31  2013-11-08 12:11:31 

Dowiedz się więcej o klauzuli at time zone i funkcji to_timestamp_tz().



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje sposób na wymuszenie domyślnej wartości true w OracleCommand.BindByName dla ODP.NET?

  2. Błąd wyzwalacza Oracle ORA-04091

  3. ORA-12728:nieprawidłowy zakres w wyrażeniu regularnym

  4. Zapytanie Oracle SQL:pobierz najnowsze wartości na grupę na podstawie czasu

  5. Oracle 12cR2 teraz w wersji beta