2008-10-09 27 views
15

Ngày Oracle được triển khai như thế nào? Nó được lưu trữ dưới dạng mili giây hay đại loại như thế?Ngày Oracle

Trả lời

22

Oracle DATE lưu trữ ngày và giờ vào ngày thứ hai. Một Oracle TIMESTAMP lưu trữ ngày tháng và thời gian lên đến 9 chữ số của độ chính xác phụ, tùy thuộc vào phần cứng có sẵn.

Cả hai đều được triển khai bằng cách lưu trữ các thành phần khác nhau của ngày và giờ theo định dạng nhị phân được đóng gói. Từ số Oracle Concepts Guide section on dates

Oracle sử dụng định dạng nội bộ của riêng nó là ngày lưu trữ. Dữ liệu ngày được lưu trữ trong các trường có độ dài cố định gồm bảy byte mỗi trường, tương ứng với thế kỷ, năm, tháng, ngày, giờ, phút và giây.

Bạn có thể sử dụng chức năng DUMP() để xem biểu diễn bên trong của bất kỳ ngày cụ thể nào (hoặc bất kỳ giá trị nào khác cho vấn đề đó), nhưng đó có thể nhiều hơn mức bạn cần (hoặc muốn).

+1

Cảm ơn, đặc biệt đối với một hàm bãi() :) –

1

No. DATE là dấu thời gian giá trị với độ chính xác giây. Bạn cần TIMESTAMP (3) để lưu trữ mili giây.

+0

Để làm rõ điều này: Dấu thời gian của Oracle không lưu trữ mili giây. Nó lưu trữ một phần nhỏ của một giây với độ chính xác cấu hình - lên đến 9 chữ số thập phân. Nếu bạn sử dụng dấu thời gian (3) thì bạn có mili giây. Nếu bạn sử dụng dấu thời gian (6), bạn có micro giây. dấu thời gian (9)? nano giây. – JeeBee

+0

Cảm ơn, xem chỉnh sửa. (Tôi nghĩ rằng trên hầu hết các hệ thống, bạn vượt quá độ phân giải đồng hồ có sẵn khi bạn vượt quá mili giây.) –

Các vấn đề liên quan