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

Konversi zona waktu dalam kueri SQL

Anda dapat menggunakan kueri ini, tanpa harus khawatir tentang perubahan zona waktu.

select to_char(cast(application_recv_date as timestamp) at time zone 'US/Eastern',
               'MON dd, YYYY'
              )
from application;

Contoh:

EDT:

select cast(date'2014-04-08' as timestamp) d1,
       cast(date'2014-04-08' as timestamp) at time zone 'US/Eastern' d2
from dual;

D1                                 D2
---------------------------------- -------------------------------------------
08-APR-14 12.00.00.000000 AM       07-APR-14 08.00.00.000000 PM US/EASTERN

EST:

select cast(date'2014-12-08' as timestamp) d1,
       cast(date'2014-12-08' as timestamp) at time zone 'US/Eastern' d2
from dual;

D1                                 D2
---------------------------------- -------------------------------------------
08-DEC-14 12.00.00.000000 AM       07-DEC-14 07.00.00.000000 PM US/EASTERN

PEMBARUAN:

Terima kasih kepada Alex Poole untuk mengingatkan bahwa, ketika zona waktu tidak ditentukan, zona waktu lokal digunakan untuk konversi.

Untuk memaksa tanggal agar dikenali sebagai GMT, gunakan from_tz.

from_tz(cast(date'2014-12-08' as timestamp), 'GMT') at time zone 'US/Eastern'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:'=ANY()' vs. 'IN ()'

  2. Oracle SELECT TOP 10 catatan

  3. Oracle Instant Client untuk perangkat Debian berbasis ARM

  4. Apa operator rangkaian string di Oracle?

  5. Model Format yang Didukung untuk Fungsi Tanggal ROUND() dan TRUNC() di Oracle