Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Konversi TimeStamp dalam format string TZ ke TimeStamp di Oracle

Agaknya T dan Z yang diperbaiki sedikit membingungkan Anda, karena tidak normal model format tanggal-waktu elemen. Tapi dokumentasi mengatakan:

Jadi Anda menyertakan T dan Z dalam tanda kutip ganda, sebagai "T" dan "Z" , dalam model format Anda.

Jika Anda tidak tertarik dengan zona waktu, Anda dapat menggunakan to_timestamp() fungsi :

to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')

Atau jika Anda ingin memiliki zona waktu, Anda dapat menggunakan to_timestamp_tz() fungsi , yang akan default ke zona waktu sesi Anda saat ini (karena Anda tidak benar-benar menentukannya di sini, Z tidak ditafsirkan sebagai Zulu/UTC):

to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')

Jika Anda menginginkannya dengan zona waktu dan ingin menentukan bahwa itu adalah UTC, Anda dapat memaksanya dengan from_tz() fungsi :

from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')), 'UTC')

Untuk melihat perbedaan hasil produksi tersebut, tentukan zona waktu sesi sebagai demo:

alter session set time_zone = 'America/New_York';

select to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as no_tz,
  to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as default_tz,
  from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'), 'UTC') as utc_tz
from dual;

NO_TZ
--------------------------------------------------
DEFAULT_TZ
--------------------------------------------------
UTC_TZ
--------------------------------------------------
24-MAR-15 07.08.24.000000000                       
24-MAR-15 07.08.24.000000000 AMERICA/NEW_YORK      
24-MAR-15 07.08.24.000000000 UTC                  

Saya berasumsi Z adalah tetap dan nilai yang Anda dapatkan karena itu selalu mewakili UTC; jika Anda benar-benar mendapatkan zona waktu yang berbeda dalam nilai yang perlu Anda konversi, maka Anda harus mengekstrak dan menerapkannya - yang bisa dilakukan, tetapi sulit, dan tidak layak dilakukan kecuali Anda benar-benar memiliki situasi itu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal Oracle 12c Enterprise Edition di Windows 7

  2. Mencoba menyebarkan aplikasi Oracle-ADF ke Tomcat 7

  3. Kustom SessionState Oracle SessionStateStoreProviderBase

  4. Menanyakan pada EAV SQL Design

  5. CEIL() Fungsi di Oracle