PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come impostare un datamp del valore predefinito di Postgresql come "AAAAMM"?

Tieni presente che la formattazione della data è indipendente dalla memorizzazione. Se è essenziale per te che la data sia memorizzata in quel formato dovrai definire un tipo di dati personalizzato o memorizzarlo come stringa. Quindi puoi utilizzare una combinazione di extract , typecasting e concatenazione per ottenere quel formato.

Tuttavia, sospetto che tu voglia memorizzare una data e ottenere il formato in output. Quindi, qualcosa del genere farà al caso tuo:

    CREATE TABLE my_table
    (
    id serial PRIMARY KEY not null,
    my_date date not null default CURRENT_DATE
    );

(CURRENT_DATE is basically a synonym for now() and a cast to date).

(Modificato per utilizzare to_char).

Quindi puoi ottenere il tuo output come:

SELECT id, to_char(my_date, 'yyyymm') FROM my_table;

Ora, se l'hai fatto devi davvero memorizzare quel campo come una stringa e assicurarti il ​​formato che potresti sempre fare:

CREATE TABLE my_other_table
(
id serial PRIMARY KEY not null,
my_date varchar(6) default to_char(CURRENT_DATE, 'yyyymm')
);