sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur ställer jag in en Postgresql standardvärdesdatumstämpel som 'ÅÅÅÅMM'?

Tänk på att formateringen av datumet är oberoende av lagringen. Om det är viktigt för dig att datumet lagras i det formatet måste du antingen definiera en anpassad datatyp eller lagra den som en sträng. Sedan kan du använda en kombination av extrakt , typcasting och sammanlänkning för att få det formatet.

Jag misstänker dock att du vill lagra ett datum och få formatet på utdata. Så något sådant här kommer att göra susen för dig:

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

(Redigerad för att använda to_char).

Då kan du få din utdata som:

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

Nu, om du gjorde det måste verkligen lagra det fältet som en sträng och säkerställa formatet du alltid kan göra:

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


  1. Hur gör man en riktig mysqli-förlängningsklass med förberedda uttalanden?

  2. SQL-beräkning för att hitta tidsskillnad

  3. Det går inte att ställa in tabellnamn med små bokstäver i MySQL 8.x på Windows 10

  4. ConnectionString-egenskapen har inte initierats fel