Tôi sẽ lưu trữ nó dưới dạng date
và lưu trữ độ chính xác nữa.
Ví dụ:
CREATE TYPE date_prec AS ENUM ('day', 'month', 'year');
CREATE TABLE pub (
pub_id integer PRIMARY KEY,
pub_date date NOT NULL,
pub_date_prec date_prec NOT NULL
);
Sau đó, bạn có thể truy vấn bảng như sau:
SELECT pub_id, date_trunc(pub_date_prec::text, pub_date)::date FROM pub;
để bỏ qua mọi giá trị ngày và tháng “ngẫu nhiên” trong pub_date
.