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