On 4/22/24 09:05, Celia McInnis wrote:
> If I have a table containing a date field, say:
> create temporary table tmp1 as select now()::date as evtdate;
> SELECT 1
>
> select DATE_PART('year', evtdate)::integer as year from tmp1;
> year
> ------
> 2024
> (1 row)
>
> Is there some way of doing something like the following?:
>
> alter table tmp1 add column year integer generated always as
> DATE_PART('year', evtdate)::integer STORED;
> ERROR: syntax error at or near "DATE_PART"
> LINE 1: ... tmp1 add column year integer generated always as DATE_PART(...
>
https://www.postgresql.org/docs/current/sql-createtable.html
GENERATED ALWAYS AS ( generation_expr ) STORED
So:
generated always as (DATE_PART('year', evtdate)::integer) STORED
--
Adrian Klaver
adrian.klaver@aklaver.com