Oracle cung cấp nhiều kiểu dữ liệu thời gian khác nhau để lưu trữ thông tin về thời gian và ngày tháng:
- DATE:
- Lưu trữ ngày tháng dưới dạng YYYY-MM-DD.
- Ví dụ: ‘2023-12-01’.
- Độ chính xác: 0 ngày.
- TIME:
- Lưu trữ thời gian dưới dạng HH:MM:SS.
- Ví dụ: ’12:34:56′.
- Độ chính xác: 0 giây.
- TIMESTAMP:
- Kết hợp DATE và TIME.
- Lưu trữ ngày tháng và thời gian dưới dạng YYYY-MM-DD HH:MM:SS.
- Ví dụ: ‘2023-12-01 12:34:56’.
- Độ chính xác: 0 giây.
- TIMESTAMP WITH TIME ZONE:
- Tương tự như TIMESTAMP nhưng bao gồm cả múi giờ.
- Ví dụ: ‘2023-12-01 12:34:56 +07:00’.
- Độ chính xác: 0 giây.
- INTERVAL DAY TO SECOND:
- Lưu trữ khoảng thời gian dưới dạng ngày, giờ, phút và giây.
- Ví dụ: ‘1 2 3 4’.
- Độ chính xác: 1 giây.
Bảng so sánh:
Kiểu dữ liệu | Định dạng | Độ chính xác | Múi giờ |
DATE | YYYY-MM-DD | 0 ngày | Không |
TIME | HH:MM:SS | 0 giây | Không |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 0 giây | Không |
TIMESTAMP WITH TIME ZONE | YYYY-MM-DD HH:MM:SS +07:00 | 0 giây | Có |
INTERVAL DAY TO SECOND | 1 2 3 4 | 1 giây | Không |
Lựa chọn kiểu dữ liệu phù hợp:
- Sử dụng DATE để lưu trữ ngày tháng.
- Sử dụng TIME để lưu trữ thời gian.
- Sử dụng TIMESTAMP để lưu trữ cả ngày tháng và thời gian.
- Sử dụng TIMESTAMP WITH TIME ZONE để lưu trữ cả ngày tháng, thời gian và múi giờ.
- Sử dụng INTERVAL DAY TO SECOND để lưu trữ khoảng thời gian.
Ví dụ:
- Lưu trữ ngày sinh của khách hàng: DATE.
- Lưu trữ thời gian mở cửa của cửa hàng: TIME.
- Lưu trữ thời gian đặt hàng: TIMESTAMP.
- Lưu trữ thời gian đặt hàng với múi giờ: TIMESTAMP WITH TIME ZONE.
- Lưu trữ khoảng thời gian giao hàng: INTERVAL DAY TO SECOND.
Lưu ý:
- Oracle cũng cung cấp một số kiểu dữ liệu thời gian khác, chẳng hạn như TIMESTAMP(6) WITH TIME ZONE.
- Bạn có thể sử dụng các hàm Oracle để chuyển đổi giữa các kiểu dữ liệu thời gian.