sql >> Database >  >> RDS >> PostgreSQL

Hoe datums met verschillende nauwkeurigheidsniveaus in postgres opslaan?

Ik zou het opslaan als date en sla ook de precisie op.

Bijvoorbeeld:

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
);

Dan kun je de tabel als volgt opvragen:

SELECT pub_id, date_trunc(pub_date_prec::text, pub_date)::date FROM pub;

om "willekeurige" dag- en maandwaarden in pub_date te negeren .



  1. Ander resultaat in SQL-viool en in MySQL-server/PhpMyadmin

  2. Waarom wordt de index op s hier niet gebruikt om te sorteren?

  3. Array_agg in postgres selectief aanhalingstekens

  4. Combinaties opsommen via SQL