PostgreSQL cung cấp kiểu dữ liệu định dạng date
để lưu ngày tháng. Tuy nhiên, vấn đề với những ngày này là không thể - theo như tôi biết - lý do về sự không chắc chắn.Cách trình bày ngày tháng không chắc chắn trong PostgreSQL
Đôi khi người ta không biết ngày đầy đủ của một điều gì đó, nhưng biết điều đó xảy ra vào tháng 1 năm 1995 hoặc trong "1999 hoặc 2000" (date2
). Có thể có một vài lý do cho điều đó:
- Mọi người không nhớ ngày chính xác;
- Ngày chính xác về cơ bản không xác định: ví dụ: một người được nhìn thấy lần cuối vào một ngày nào đó và đã tìm thấy cái chết vài ngày sau đó; hoặc
- Chúng tôi xử lý các sự kiện trong tương lai để vẫn có một số cơ hội xảy ra sự cố.
Tôi đã tự hỏi nếu có một kiểu dữ liệu để lưu trữ "ngày" như vậy và cách chúng được giao. Nó sẽ dẫn đến logic có giá trị đối với một số hoạt động như ví dụ date2 < 20001/01/01
phải là true
, date2 < 2000/01/01
là possible
và date2 < 1998/01/01
phải là false
.
Nếu không có kiểu dữ liệu như vậy, thực tiễn tốt để xây dựng "bảng" đó là gì?
Bạn có thể lưu trữ các ngày như cặp, ngày đầu tiên và ngày cuối cùng, sau đó sử dụng chức năng Postgres như 'chồng chéo' trong khoảng thời gian. –