PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL altera il tipo timestamp senza fuso orario -> con fuso orario

Mantiene il valore corrente nell'ora locale e imposta il fuso orario sull'offset dell'ora locale:

create table a(t timestamp without time zone, t2 timestamp with time zone);
insert into a(t) values ('2012-03-01'::timestamp);
update a set t2 = t;
select * from a;
          t          |           t2           
---------------------+------------------------
 2012-03-01 00:00:00 | 2012-03-01 00:00:00-08

alter table a alter column t type timestamp with time zone;
select * from a;
           t            |           t2           
------------------------+------------------------
 2012-03-01 00:00:00-08 | 2012-03-01 00:00:00-08

Secondo il manuale per Alter Table :

Secondo il manuale per Tipi di data/ora