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

Bagaimana menangani detik kabisat di Oracle

Dari MOS-

Memasukkan detik kabisat ke kolom stempel waktu gagal dengan ORA-01852 (DocID 1553906.1)

BERLAKU UNTUK:

Oracle Database - Enterprise Edition - Versi 8.1.7.4 dan yang lebih baru

Oracle Database - Edisi Standar - Versi 8.1.7.4 dan yang lebih baru

Informasi dalam dokumen ini berlaku untuk platform apa pun.

GEJALA:

Upaya memasukkan detik kabisat ke dalam kolom stempel waktu, gagal dengan:ORA-01852:detik harus antara 0 dan 59

PENYEBAB

Tidak mungkin menyimpan nilai>59 detik dalam tipe data tanggal atau stempel waktu

SOLUSI

Untuk mengatasi masalah ini, catatan detik kabisat dapat disimpan dalam tipe data avarchar2, mis.

SQL> create table test (val number, t varchar2(30));

Table created.

SQL> insert into test values(123, '2012-06-30T23:59:60.000000Z');

1 row created.

Bukan solusi terbaik, tapi satu-satunya solusi.




  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 mengubah nls_date_format default untuk klien Oracle jdbc

  2. Oracle INSERT menjadi dua tabel dalam satu query

  3. Buat Pengguna Oracle Baru dan Berikan Hak Istimewa:Sintaks dan Contoh

  4. Bagaimana cara menyalin atau mengimpor skema Oracle antara dua database yang berbeda di server yang berbeda?

  5. Tambahkan parameter tanggal ke kueri Oracle