extract date from timestamp in postgreSQL -
we have table of data looks like:
|id|date1     |timestamp1         | ----------------------------- |1 |2015-06-23|2015-06-23 16:02:00| ----------------------------- |2 |2015-01-02|2015-01-02 11:32:00|   i tried create function , trigger not working, looks this:
create or replace function insert_date1_trg_func() returns trigger $body$ begin update schema.table set date1 = extract(date new.timestamp1) id = new.id; return null; end; $body$ language plpgsql volatile cost 100;   trigger
create trigger insert_date1_trg_func() after insert or update on schema.table each row execute procedure insert_date1_trg_func();   i getting error type date expression double precision.
if want set "date1" in update trigger, should this:
create or replace function insert_date1_trg_func() returns trigger $body$ begin   new.date1 = date_trunc('day', new.timestamp1)::date;   return new; end; $body$ language plpgsql stable;   trigger:
create trigger insert_date1_trg_func() before insert or update on schema.table each row execute procedure insert_date1_trg_func();   note trigger should fire before insert or update or changes not persist in database.
Comments
Post a Comment