I am planning to create a table with generate columns
CREATE TABLE fy_calendar1(
date date not null,
day varchar generated always AS (DATE_PART('day', date)) stored,
dow_in_month varchar generated always AS (DATE_PART('day', date)) stored,
day_of_year varchar generated always AS (DATE_PART('DOY', date)) stored,
week_of_year varchar generated always as (DATE_PART('week', date)) stored,
month_of_year varchar generated always as (DATE_PART('MONTH', date)) stored,
quarter_of_year varchar generated always as (DATE_PART('QUARTER', date)) stored,
year varchar generated always as (DATE_PART('year', date)) stored,
day_name_week varchar generated always as (to_char(date, 'day')) stored
)
while creating
question 1:
day_name_week varchar generated always as (to_char(date, 'day')) stored
I am getting below error
SQL Error [42P17]: ERROR: generation expression is not immutable
question 2: for the last day of the month
last_day_of_month varchar generated always as (DATE_TRUNC('MONTH', date) + INTERVAL '1 MONTH - 1 day') stored
I am getting the same error. SQL Error [42P17]: ERROR: generation expression is not immutable
could you please advice me on above questions.
Thank you, Raja