sql >> Databáze >  >> RDS >> PostgreSQL

Jak nastavit datumové razítko výchozí hodnoty Postgresql jako 'YYYYMM'?

Mějte prosím na paměti, že formátování data je nezávislé na uložení. Pokud je pro vás důležité, aby bylo datum uloženo v tomto formátu budete muset buď definovat vlastní datový typ, nebo jej uložit jako řetězec. Pak můžete použít kombinaci extrakt , přetypování a zřetězení k získání tohoto formátu.

Mám však podezření, že chcete uložit datum a získat formát na výstupu. Takže něco takového vám pomůže:

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

(Upraveno pro použití to_char).

Potom můžete získat výstup jako:

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

Nyní, pokud jste udělali opravdu potřebujete uložit toto pole jako řetězec a zajistit formát, který můžete vždy udělat:

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


  1. Postgres Tipy A Triky

  2. Můžeme spustit dotaz mysql prostřednictvím příkazového řádku v systému Windows?

  3. mysql dotaz pro výběr všech řádků aktuálního měsíce?

  4. 2 způsoby, jak vrátit řádky, které obsahují pouze alfanumerické znaky v Oracle