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

Ubah kolom datetime menjadi waktu utc

Untuk memulai dengan:to_char() mengembalikan string dari tanggal. Jadi jika Anda menginginkan date , jangan digunakan, yaitu ganti ini:

to_char(to_date(f_sta_date, 'YYYYMMDD') + (f_sta_time)/86400), 'YYYY-MM-DD HH24:MI:SS')

Kepada:

to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400

Kemudian:dalam hal mengelola zona waktu, Anda perlu menggunakan timestamp with time zone tipe data bukan date . Untuk mengonversi tanggal Anda dalam waktu lokal (yaitu zona waktu sesi Anda, yang ditentukan oleh SESSIONTIMEZONE ) ke stempel waktu dan mendapatkan tanggal/waktu yang sesuai di UTC, Anda dapat melakukan:

cast(to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 as timestamp with time zone) 
    at time zone 'UTC'

Permintaan Anda:

select
    to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 dt_sta,
    to_date(f_sto_date, 'YYYYMMDD') + f_sto_time/86400 dt_sto,
    cast(to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 as timestamp) 
        at time zone 'UTC' dt_sta_utc,
    cast(to_date(f_sto_date, 'YYYYMMDD') + f_sto_time/86400 as timestamp) 
        at time zone 'UTC' dt_sto_utc
from t


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana melakukan persimpangan pada tabel komposisi

  2. INSERT dan UPDATE catatan menggunakan kursor di oracle

  3. Jalankan Oracle Forms sebagai standalone tanpa browser

  4. Dalam kluster Oracle akankah sysdate selalu mengembalikan jawaban yang konsisten?

  5. klausa awal kueri hierarkis oracle dari join