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

Java Date.toString di Oracle TO_DATE

Oracle DATE tipe data tidak memiliki zona waktu - Anda memerlukan TIMESTAMP WITH TIMEZONE tipe data:

SELECT TO_TIMESTAMP_TZ(
         'Thu Nov 24 15:20:52 CET 2016',
         'DY MON DD HH24:MI:SS TZR YYYY'
       )
FROM DUAL

Jika Anda ingin mengonversi ke DATE (dan wilayah zona waktu selalu CET ) maka Anda dapat menggunakan:

SELECT TO_DATE(
         'Thu Nov 24 15:20:52 CET 2016',
         'DY MON DD HH24:MI:SS "CET" YYYY'
       )
FROM DUAL

Jika Anda menginginkannya sebagai DATE tipe data dan untuk menghormati zona waktu dalam string asli maka Anda harus (1) mengonversinya menjadi TIMESTAMP WITH TIMEZONE tipe data; (2) mengonversi nilai tersebut ke zona waktu standar (UTC sering digunakan untuk ini); lalu (3) konversikan itu menjadi tanggal:

SELECT CAST(
         TO_TIMESTAMP_TZ(
           'Thu Nov 24 15:20:52 CET 2016',
           'DY MON DD HH24:MI:SS TZR YYYY'
         )
         AT TIME ZONE 'UTC'
         AS DATE
       )
FROM   DUAL;

Yang akan menampilkan tanggal 2016-11-24 14:20:52 (representasi UTC dari tanggal input).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengubah kata sandi dengan Oracle SQL Developer

  2. Menggunakan Types.NVARCHAR dengan driver Oracle JDBC untuk bekerja dengan karakter Cyrillic

  3. Perintah Cadangan RMAN

  4. Apa artinya tanda kurung siku dalam kueri Oracle SQL?

  5. Berapa panjang maksimum nama tabel di Oracle?