Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách xử lý giây nhuận trong Oracle

Từ MOS-

Chèn giây nhuận vào cột dấu thời gian không thành công với ORA-01852 (DocID 1553906.1)

ÁP DỤNG CHO:

Cơ sở dữ liệu Oracle - Phiên bản Doanh nghiệp - Phiên bản 8.1.7.4 trở lên

Cơ sở dữ liệu Oracle - Phiên bản Tiêu chuẩn - Phiên bản 8.1.7.4 trở lên

Thông tin trong tài liệu này áp dụng cho mọi nền tảng.

TRIỆU CHỨNG:

Cố gắng chèn giây nhuận vào cột dấu thời gian, không thành công với:ORA-01852:giây phải từ 0 đến 59

NGUYÊN NHÂN

Không thể lưu trữ giá trị> 59 giây trong một ngày hoặc loại dấu thời gian

GIẢI PHÁP

Để giải quyết vấn đề này, bản ghi giây nhuận có thể được lưu trữ trong kiểu dữ liệu avarchar2 thay thế, ví dụ:

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.

Không phải là giải pháp tốt nhất, nhưng là giải pháp duy nhấ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. Làm thế nào để có được quý từ ngày trong Oracle?

  2. tính toán số dư đang chạy trong truy vấn oracle

  3. Cách trả lại danh sách các ngôn ngữ được hỗ trợ trong Oracle

  4. TO_CHAR của một loại Oracle PL / SQL TABLE

  5. Chuyển và trả về đối tượng mảng tùy chỉnh trong ibatis và oracle trong java